7

我正在构建一个 Silverlight 应用程序,该应用程序可以轻松部署到不同的网站,并且从应用程序内部,我需要访问托管 Silverlight 的域/主机。所以,我知道对于浏览器窗口中的应用程序,这段代码可以完美运行:

HtmlPage.Document.DocumentUri.Host;

问题是,我需要安装这个应用程序并在浏览器外模式下运行。但是,当我在 OOB 模式下调用相同的代码时,我得到了一个异常,这与 SL 没有在浏览器中运行是完全正常的。但从逻辑上讲,SL 应用程序是从某个地方安装的,我需要访问那个“原始”URL(或者至少,在这个项目中,原始主机对我来说已经足够了)。简而言之,如果应用程序是从http://example.com/example.xap安装的,我如何才能访问字符串“ http://example.com/example.xap“在浏览器用完时以编程方式进行?我不会提前知道这一点,因为该应用程序将是模块化的并部署到任何域。如果未设置唯一选项,是否在隔离存储中创建设置文件并设置域字符串,还是有更简单的方法?

谢谢,坎。

4

2 回答 2

12

您可以使用获取地址(即使在 OOB 中)Application.Current.Host.Source

于 2011-06-23T12:50:38.297 回答
0

BaseAddress您可以从a 的新实例中获取 Xap 的地址WebClient

 WebClient client = new WebClient();
 string xapAddress = client.BaseAddress;

使用BaseAddress应用程序源地址初始化,并将在 OOB 中工作。

于 2011-06-23T07:16:35.593 回答