我有一个在 https 上运行的 Silverlight4 应用程序,已部署到 Azure。除了一个小故障外,一切正常。我有 jpg 缩略图形式的内容和带有 .gld 扩展名的相关 zip 文件。我的应用程序应该显示缩略图,并允许用户下载相关的 .gld/zip 文件。
下载工作正常,但缩略图不会显示在我的用户界面中。我从我的 ImageFailed 处理程序中得到 AG_E_NETWORK_ERROR。我的 cdn 域的根目录中确实有一个 clientaccesspolicy.xml 文件。 Fiddler 不显示 Silverlight 访问此文件。
这是 clientaccesspolicy.xml:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/>
<domain uri="http://*"/
<domain uri="https://*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true" />
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
我对 Silverlight 如何访问可下载内容感到困惑,但不能访问图像文件。如果我将缩略图部署到 Azure 中的 blob 存储(在 $root 文件夹中使用相同的 clientaccesspolicy.xml 文件),该应用程序确实会拾取缩略图,但如果我可以继续我的 cdn 上已经存在的相同文件结构,那将是理想的供应商。
如果 Silverlight 应用程序在 http 而不是 https 中运行,一切都会完美显示。
提前感谢您的任何想法!
迈克尔·康纳
最佳答案
感谢所有建议 - 都试过了 - 遗憾的是,仍然没有运气。不幸的是,位图的 ImageFailed 事件没有提供太多细节。我认为我们可能会遇到对图像文件的跨方案限制。
关于ssl - Silverlight 跨方案访问 jpeg 被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4029127/