如何在lightswitch应用程序中获取主机URL

时间:2015-11-17 11:43:21

标签: asp.net-mvc url appdomain host lightswitch-2013

我正在开发lightswitch应用程序。

我打开一个从DesktopClient到服务器项目的MVC视图页面,服务器项目是我的MVC项目。

此代码用于打开或重定向到DesktopClient查看页面。

Microsoft.LightSwitch.Threading.Dispatchers.Main.BeginInvoke(() =>
            {
                if (AutomationFactory.IsAvailable)
                {
                    dynamic shell = AutomationFactory.CreateObject("Shell.Application");

                    shell.ShellExecute("http://localhost:39360/Controller/Index");
                }
                else if (!System.Windows.Application.Current.IsRunningOutOfBrowser)
                {
                    HtmlPage.Window.Navigate(new Uri("http://localhost:39360/Controller/Index"), "_blank");
                }
                else
                {
                    throw new InvalidOperationException();
                }
            });

仍然正常工作,因为现在应用于本地主机。但是,在我的应用程序主机之后,我不知道域名或主机名是什么。所以我想要动态主机名

您能否建议一下www.example.com的最佳选择。 然后我将连接/Search/Index

你的回答会很明显:​​)

谢谢, Jatin

1 个答案:

答案 0 :(得分:0)

您应该能够使用System.Windows.Application.Current.Host.Source在运行时确定主机名。该对象包含与当前运行的应用程序相关的大量属性,例如:

Microsoft.LightSwitch.Threading.Dispatchers.Main.BeginInvoke(() =>
{
    System.Windows.MessageBox.Show(System.Windows.Application.Current.Host.Source.Host);
});