2010-07-06 6 views
0

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

Я бы хотел, чтобы 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

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

Try вызова

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