【问题标题】:Loading Images for Silverlight app from server without ssl从没有 ssl 的服务器加载 Silverlight 应用程序的图像
【发布时间】:2011-08-30 11:42:58
【问题描述】:

我有一个使用 ssl 与源站点通信的 Silverlight 应用程序。该应用程序从一个单独的服务器(在没有 ssl 的端口 81 下运行 apache)加载了许多图像。图片是普通的png。来自 Apache 机器的图像未正确加载,即图像控件保持空白。当我在我的应用服务器(即网站来源)上发布相同的图像并相应地修改链接时,图像会正确显示。 MSDN 上的This 链接说图像是媒体被排除在访问限制策略之外。

希望有任何建议。

【问题讨论】:

  • 图像可以免于 Silverlight 的跨域策略,但这并不意味着目标服务器没有实现自己的反盗取功能。或者你可能把图片的 URI 弄错了。您应该使用浏览器开发工具(IE 开发工具或 Firefox 的 Fiddler)来查看请求和返回。

标签: silverlight ssl cross-domain


【解决方案1】:

我希望您将 Silverlight 应用程序部署到 Web 服务器,而不是使用 Visual Studio 开发服务器运行它。当我使用内置的开发 Web 服务器时,我遇到了类似的图像问题。你可以找到我的经验here

如果您订阅 ImageFailed 事件并发布堆栈跟踪可能会有所帮助。

【讨论】:

    【解决方案2】:

    您在silverlight中遇到了跨方案访问限制,请参阅http://msdn.microsoft.com/en-us/library/cc189008(v=vs.95).aspx底部的表格

    一种可能的解决方案是使用 WebClient 加载图像并在图像元素上调用 SetSource。这就是我们在应用程序中所做的。事实上,我们将它封装到自定义图像控件中,隐藏了所有烦人的细节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      • 2019-11-16
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      相关资源
      最近更新 更多