【问题标题】:Access host or URL info in Silverlight out-of-browser在浏览器外访问 Silverlight 中的主机或 URL 信息
【发布时间】:2011-09-20 20:43:00
【问题描述】:

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

HtmlPage.Document.DocumentUri.Host;

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

谢谢,坎。

【问题讨论】:

    标签: .net silverlight out-of-browser


    【解决方案1】:

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

    【讨论】:

    • 我在与我的 XAP 相同的 Web 应用程序上托管了几个网页(实际上用于 silverlight WebBrowser 控件),这有助于我以编程方式找到 URL。完美。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多