【问题标题】:Silverlight cross-domain: SecurityException in release mode onlySilverlight 跨域:仅在发布模式下出现 SecurityException
【发布时间】:2009-09-08 15:47:22
【问题描述】:

我了解,Silverlight 能够使用 WebClient 类发出跨域请求,需要在服务器的根目录中有一个 clientaccesspolicy.xml。我得到了这个工作,当 Silverlight 应用程序在调试模式下编译时,它工作得很好。但是,当 Silverlight 应用程序在发布模式下编译时,我得到一个 SecurityException。更奇怪的是,silverlight 应用程序似乎甚至没有向(其他域)服务器发出请求——它只是在没有检查的情况下抛出异常!

任何帮助将不胜感激......

P.S.:它是 HTTP(但在端口 30588 上)并且请求是针对无扩展名的路径(Web 服务返回 JSON)。

【问题讨论】:

    标签: .net silverlight security cross-domain webclient


    【解决方案1】:

    大声笑,我解决了...在发布模式下(但不是在调试模式下),客户端的启动速度比服务器快(它们在 VS 中都设置为“启动项目”)。因此,客户端 (Silverlight) 在服务器启动之前请求 clientaccesspolicy.xml,并且由于服务器尚未运行,因此无法找到主机。这表现为所说的 SecurityException。我在客户端添加了一个 Thread.Sleep 来“修复”它(显然,hack 不会进入任何源代码控制/实际构建)。

    所以要吸取的教训...呃... Silverlight 中的 SecurityException 需要更详细地说明其原因...?

    【讨论】:

      猜你喜欢
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      相关资源
      最近更新 更多