.NET ClickOnce应用程序。是否可以解析de URL或网页的域名?

时间:2012-03-16 09:28:34

标签: .net clickonce

一方面,我有一个桌面.NET应用程序,使用ClickOnce部署在虚拟目录中。另一方面,拥有一个Java EE Web应用程序,其中包含指向dekstop .NET应用程序的发布URL的链接。

例如,在页面 http://mydomain.com/page.jps 中,我们可以链接到 http://otherdomain.com/apps/mydesktoapp.application < / em>的

我希望.NET桌面应用知道调用它的网址或域名( http://mydomain.com/page.jps

我知道我们可以将参数传递给发布Url,但我不想使用它。

提前致谢!

2 个答案:

答案 0 :(得分:2)

应用程序无法获取refferer页面,因为它完全独立于HTTP流。上面的Wikor代码将向您显示已启动的应用程序的实际URI,但不会显示引用者。

除非您以动态语言(php,asp,jsp)托管部署页面,并自定义部署页面以嵌入http referrer并将其作为启动参数传递给应用程序。

private NameValueCollection GetQueryStringParameters()
{
    NameValueCollection nameValueTable = new NameValueCollection();

    if (ApplicationDeployment.IsNetworkDeployed)
    {
        string queryString = ApplicationDeployment.CurrentDeployment.ActivationUri.Query;
        nameValueTable = HttpUtility.ParseQueryString(queryString);
    }

    return (nameValueTable);
}

但是,您必须意识到这意味着您完全了解您的应用程序是在线还是离线运行。如果是离线,你很确定它会在第一次使用url时被激活,然后通过开始菜单选项启动。此外,您必须确保应用程序可以在不提供查询或损坏的情况下运行。

希望有所帮助

答案 1 :(得分:0)

if ( System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed )
{
    string activationUri = System.Deployment.Application.ApplicationDeployment.CurrentDeployment.ActivationUri;
}