2010-07-06 2 views
0

Je passe des paramètres à une application déployée .NET ClickOnce via l'URL d'une application Flex. Ceci est fait en redirigeant simplement l'utilisateur vers http://myDomain/myApplication.application?a=1.Passer des paramètres à l'application .NET déployée par ClickOnce depuis Flex sans que l'URL soit visible

Je souhaite que l'URL ne soit pas visible dans le navigateur qui est lié à l'application. D'après ce que je comprends, ClickOnce ne fonctionne pas avec POST, donc cette option est sortie. Les gens .NET, y a-t-il une autre option? De ASP.NET, j'aurais pu faire un simple Server.Transfer à l'URL de lancement.

À partir d'une application Flex, je ne sais pas quelles options j'ai. NavigateToURL rendra l'URL visible dans le navigateur. Ouvrir une minuscule fenêtre avec cette adresse la laissera toujours visible une seconde ou deux.

J'ai essayé d'utiliser un composant mx: Httpservice pour envoyer une requête à cette URL, mais cela n'a pas fonctionné. Je ne suis pas sûr pourquoi. J'ai essayé d'utiliser à la fois les éléments suivants:

<mx:HTTPService id="launcherService" 
        url="http://myDomain/myApplication.application?a=1"> 
    var parameters:Object = new Object(); 
    launcherService.send(); 

et

<mx:HTTPService id="launcherService" 
        url="http://myDomain/myApplication.application"> 

var parameters:Object = new Object(); 
    parameters.a = 1; 
    launcherService.send(parameters); 

J'utilisé HTTPWatch et je peux voir que la requête HTTP a été faite. Mais l'application n'a pas été déployée. Je ne sais pas pourquoi. Y a-t-il une solution?

Répondre

1

HTTPService est d'extraire une URL et d'analyser les données récupérées dans l'application Flex elle-même. navigateToUrl est la méthode normale si vous essayez de rediriger l'utilisateur vers une URL, mais vous ne pouvez pas masquer la barre d'adresse de la fenêtre cible avec celle-ci. Pour masquer la barre d'adresse, vous devez utiliser javascript. Utilisez ExternalInterface pour appeler javascript à partir de votre application Flex. Le problème est que le bloqueur de pop-up peut empêcher l'affichage de la pop-up - vous devez demander à l'utilisateur d'autoriser les fenêtres pop-up de votre site.

Essayez d'appeler

ExternalInterface.call("window.open('" + url + "', '_blank', 'menubar=0,location=0,toolbar=0'")); 
Questions connexes