Comment puis-je appeler le webservice quand Silverlight sort? J'ai besoin d'envoyer une mise à jour sur le serveur quand Silverlight quitte.Appelez webservice quand silverlight exit
Répondre
Vous devez utiliser javascript. Consultez ce lien: http://danielvaughan.orpius.com/post/Calling-Web-Services-from-Silverlight-after-the-Browser-has-closed.aspx
Ajoutez un gestionnaire d'événements pour l'événement Application.Exit. Appelez le WebService dans ce gestionnaire. Le XAML/code ressemble à:
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SilverlightApplication.App"
Exit="App_Exit">
</Application>
Et
public partial class App : Application
{
private void App_Exit(object sender, EventArgs e)
{
// Code to call WebService goes here.
}
}
dans les méthodes asynchrones webservice. Par exemple: méthode save(). Dans les services saveAsync(); et saveCompleted(). saveAsync est exécuté, mais saveCompleted ne s'exécute pas si vous utilisez votre réponse. – isxaker
@Mikhail voulez-vous dire que vous n'obtenez pas l'événement de rappel? Comme c'est asynchrone, c'est probablement parce que votre application est déjà fermée avant le retour du service. Avez-vous besoin d'une valeur de retour? –
Oui exactement .... – isxaker
Voir les commentaires sur la réponse de Justin Niessner: vous ne pouvez pas récupérer la valeur de retour. Cela peut vous convenir si le service que vous appelez n'est pas critique (parce que, disons, il capture simplement des statistiques d'utilisation). Si vous avez besoin de la valeur de retour dans tous les cas, et que vous pensez que l'application SL sera utilisée plusieurs fois, vous pouvez écrire un souvenir sur le IsolatedStorage (opération synchrone) et le publier sur le serveur lorsque l'application démarre. la prochaine fois.
Vous ne pouvez pas effectuer de requête Web lors de l'arrêt de l'application dans Silverlight.
J'avais une application qui avait besoin de sauvegarder des informations avant la fermeture. J'ai utilisé javascript dans la page hébergeant le contrôle silverlight.
Javascript et utilisation
<script type="text/javascript">
var blocking = true;
function pageUnloading() {
var control = document.getElementById("Xaml1");
control.content.Page.FinalSave();
while (blocking)
alert('Saving User Information');
}
function allowClose() {
blocking = false;
}
</script>
<body onbeforeunload="pageUnloading();">
</body>
et App.xaml.cs
public partial class App : Application
{
[ScriptableMember()]
public void FinalSave()
{
srTL.TrueLinkClient proxy = new CSRM3.srTL.TrueLinkClient();
proxy.DeleteAllUserActionsCompleted += (sender, e) =>
{
HtmlPage.Window.CreateInstance("allowClose");
};
proxy.DeleteAllUserActionsAsync(ApplicationUser.UserName);
}
}
le javascript tandis que le bloc se lève sur différents navigateurs d'alerte, que le script qui est en cours d'exécution est hors de contrôle ... A part cela, cela semble fonctionner – Rumplin
Oui, il suffit de faire l'appel de service Web et ne pas attendre une valeur de retour .. car il ne sera jamais arriver
donc faire:
private async void Application_Exit(object sender, EventArgs e)
{
// Tell DBSERVER_V14 pipe we have gone away
await connect_disconnect_async(MainPage.username, MainPage.website, false);
}
Mais ne le faites pas ceci:
private async void Application_Exit(object sender, EventArgs e)
{
// Tell DBSERVER_V14 pipe we have gone away
var status = await SmartNibby_V13.connect_disconnect_async(MainPage.username, MainPage.website, false);
if (status)
{
Console.WriteLine(status);
}
}
parce que vous aurez jamais une valeur « d'état » avec pour tester.
- 1. Silverlight webservice
- 2. Silverlight 3 + Java WebService
- 3. Remplissez e.Error dans webservice silverlight
- 4. script Bash ne pas sortir immédiatement quand `exit` est appelé
- 5. Silverlight accéder à Webservice sécurisé
- 6. Webservice d'authentification dans Silverlight 4
- 7. Quand vous appelez-vous un programmeur
- 8. exit document.evaluate
- 9. Visual DataFlex: appelez WebService à partir de la page Web
- 10. mysql exit handler help
- 11. Exit iphone Application
- 12. Appelez la fonction JavaScript à partir de l'application Silverlight 4.0
- 13. Jquery - appelez la fonction quand flou + clic sur certains éléments?
- 14. Problème appelant webservice de Silverlight dans VisualStudio 2010
- 15. . Exit de l'application .Net brusquement
- 16. Javascript Confirmation Box on Exit
- 17. Exit de l'interrogation sur Avahi?
- 18. Appelez webservice en utilisant jaxws lorsque le wsdl a plus d'un service
- 19. Silverlight WebApp Appel de Webservice dans la même solution
- 20. PHP: plusieurs commandes dans die/exit
- 21. Appelez webservice à partir d'Android en utilisant KSoap en retournant simplement la chaîne "error"
- 22. tcp application exit enverra FIN toujours?
- 23. C# exit générique ForEach qui utilise lambda
- 24. Exit Sous-équivalent en Objective C?
- 25. Visual Studio 2008 Stop Debug Smooth Exit
- 26. MS CA Exit Module Code ou Tutoriel
- 27. Utilisation correcte de fork, wait, exit, etc
- 28. exit Attendez-vous {0 sans timeout
- 29. Pourquoi devrais-je utiliser exit select?
- 30. WebService
+1 en fait une bonne question –