Передача параметров в развернутое приложение .NET ClickOnce из Flex без отображения URL - PullRequest
0 голосов
/ 06 июля 2010

Я передаю параметры развернутому приложению .NET ClickOnce через URL-адрес из приложения Flex.Это делается путем простого перенаправления пользователя на http://myDomain/myApplication.application?a=1.

. Я бы хотел, чтобы URL-адрес не отображался в браузере, который ссылается на приложение.Из того, что я понимаю, ClickOnce не работает с POST, поэтому эта опция отсутствует..NET люди, есть ли другой вариант?Из ASP.NET я мог бы сделать простой Server.Transfer для запуска URL.

Из приложения Flex, я не знаю, какие варианты у меня есть.NavigateToURL сделает URL видимым в браузере.Открытие крошечного окна с этим адресом все равно оставит его видимым на секунду или две.

Я попытался с помощью компонента mx: Httpservice сделать запрос на этот URL, но это не сработало.Я не уверен почему.Я попытался использовать следующее:

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

и

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

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

Я использовал HTTPWatch и вижу, что HTTP-запрос выполнен.Но приложение не было развернуто.Я не знаю почему.Есть ли решение?

1 Ответ

1 голос
/ 06 июля 2010

HTTPService - для извлечения URL-адреса и анализа полученных данных в самом приложении flex.navigateToUrl - это нормальный способ, если вы пытаетесь перенаправить пользователя на URL, но вы не можете скрыть с ним адресную строку целевого окна.Чтобы скрыть адресную строку, вам нужно использовать javascript.Используйте ExternalInterface для вызова JavaScript из вашего приложения Flex.Суть в том, что блокировщик всплывающих окон может препятствовать отображению всплывающих окон - вам нужно попросить пользователя разрешить всплывающие окна с вашего сайта.

Попробуйте позвонить

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