将参数传递给Flex的.NET ClickOnce部署的应用程序,而不显示URL

时间:2010-07-06 05:44:36

标签: .net flex actionscript clickonce httpservice

我通过Flex应用程序中的URL将参数传递给.NET ClickOnce部署的应用程序。只需将用户重定向到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 个答案:

答案 0 :(得分:1)

HTTPService用于获取URL并在flex应用程序本身内解析检索到的数据。如果您尝试将用户重定向到URL,则navigateToUrl是正常的方法,但您无法使用它隐藏目标窗口的地址栏。要隐藏地址栏,您需要使用javascript。使用ExternalInterface从Flex应用程序调用javascript。问题是弹出窗口阻止程序可能会阻止显示弹出窗口 - 您必须要求用户允许您的网站弹出窗口。

尝试拨打

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