Azure云存储中的Silverlight XAP

Azure云存储中的Silverlight XAP,silverlight,azure,cross-domain,blob,Silverlight,Azure,Cross Domain,Blob,我有一个Silverlight xap,它显示一个绿色矩形 此xap是Azure云中ASP.NET网站的一部分 为了更容易升级Xap,我将其作为blob移动到云存储中,并使用https url引用它 现在Xap没有启动。不显示任何错误消息。xap应该位于空白处 我在互联网上搜索了一个解决方案。当Xap访问另一个域上的服务或访问另一个域上的blob存储时,有许多解决方案。但这和我的问题不一样。我的xap无法访问服务。它显示一个绿色矩形 我怎样才能解决这个问题呢?谢谢汤姆和高拉夫带我去那里。以下是我

我有一个Silverlight xap,它显示一个绿色矩形

此xap是Azure云中ASP.NET网站的一部分

为了更容易升级Xap,我将其作为blob移动到云存储中,并使用https url引用它

现在Xap没有启动。不显示任何错误消息。xap应该位于空白处

我在互联网上搜索了一个解决方案。当Xap访问另一个域上的服务或访问另一个域上的blob存储时,有许多解决方案。但这和我的问题不一样。我的xap无法访问服务。它显示一个绿色矩形


我怎样才能解决这个问题呢?

谢谢汤姆和高拉夫带我去那里。以下是我的解决方案:

1) 创建了一个名为“clientaccesspolicy.xml”的文件。我用小写字母,不确定这是否重要。在文件中输入以下内容:

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
    <policy>
        <allow-from http-request-headers="SOAPAction">
            <domain uri="*"/>
        </allow-from>
        <grant-to>
            <resource path="/" include-subpaths="true"/>
        </grant-to>
    </policy>
</cross-domain-access>
3) 在我的html中,将XAP URL从HTTPS更改为HTTP。出于某种原因,这不起作用:

<param name="source" value="https://<blobaccount>.blob.core.windows.net/container1/MySilverlight.xap"/>

但这确实:

<param name="source" value="http://<blobaccount>.blob.core.windows.net/container1/MySilverlight.xap"/>


您可以使用一些web流量调试器(fiddler非常好)来查看浏览器和远程应用程序之间的流量。这些信息可能对解决您的问题至关重要。您是否已在存储帐户的$root blob容器中添加了ClientAccessPolicy文件?还要检查包含XAP文件的blob容器是否可公开访问。您可以通过浏览器直接访问XAP文件进行检查-https://.blob.core.windows.net//.
<param name="source" value="https://<blobaccount>.blob.core.windows.net/container1/MySilverlight.xap"/>
<param name="source" value="http://<blobaccount>.blob.core.windows.net/container1/MySilverlight.xap"/>