从本地文件系统托管Silverlight小部件
我试图在硬盘上本地存在的html文件中托管一个远程Silverlight小部件,但每当我打开html文件时,Silverlight内容都不会显示。如果我将文件移动到web服务器上,然后通过http访问它,它就可以完美地工作。我发现(或者至少我假设)小部件正试图回拨web服务器,但由于SL 2+中的错误,它失败了。我还看到一些来自用户的报告,其中谈到在从本地文件进行调试时遇到此问题。我的问题是,我如何确定这就是问题所在/我可以使用什么工具来验证我的假设 此外,(我完全清楚地知道需要考虑特权的提升安全问题)有没有任何方法可以将小部件调用的web服务声明为安全的(例如添加到受信任的站点),这样Silverlight就能够在没有安全异常的情况下执行调用 下面是我所说的一个小部件示例:从本地文件系统托管Silverlight小部件,silverlight,Silverlight,我试图在硬盘上本地存在的html文件中托管一个远程Silverlight小部件,但每当我打开html文件时,Silverlight内容都不会显示。如果我将文件移动到web服务器上,然后通过http访问它,它就可以完美地工作。我发现(或者至少我假设)小部件正试图回拨web服务器,但由于SL 2+中的错误,它失败了。我还看到一些来自用户的报告,其中谈到在从本地文件进行调试时遇到此问题。我的问题是,我如何确定这就是问题所在/我可以使用什么工具来验证我的假设 此外,(我完全清楚地知道需要考虑特权的提升安
<object
type="application/x-silverlight-2"
data="data:application/x-silverlight-2,"
width="400" height="400">
<param name="minRuntimeVersion" value="3.0.40624.0" />
<param name="background" value="#141414" />
<param name="splashScreenSource"
value="http://memorabilia.hardrock.com/Widget/3.2009.1014.0/Splash.xaml" />
<param name="source"
value="http://memorabilia.hardrock.com/Widget/3.2009.1014.0/HardRock.Memorabilia.Silverlight.Widget.xap" />
<param name="enableHtmlAccess" value="true" />
<param name="initParams" value="item=034739" />
<a href="http://go.microsoft.com/fwlink/?linkid=149156&v=3.0.40624.0">
<img src="http://memorabilia.hardrock.com/Widget/3.2009.1014.0/Ping.gif?type=install&item=034739"
style="background:#141414
url(http://content.memorabilia.hardrock.com/Assets/Images/widget/034739.jpg)
no-repeat center;margin:0;padding:0;border:0;"
width="400" height="400" />
</a>
</object>
这是一个跨协议冲突问题-具有文件://协议的页面无法访问具有http://协议的资产。这也有助于保护您的计算机免受恶意Silverlight应用程序的访问。此Silverlight控件是否允许您在自己的本地文件中托管?瞧,它是你的还是你有使用它的权限?不作为答案提交,因为我不确定,但你查看过“客户端访问策略”文件吗?Silverlight控件不是我的控件。在上面的例子中,它由memorabilia.hardrock.com托管,并由他们作为包含嵌入代码的小部件提供。它们确实允许跨域调用(我在web服务器上找到了客户端访问策略文件,当时我刚刚在web服务器上抛出了测试html文件,并按预期下载了内容),但从文档中看,这更像是跨区域调用的问题,我还没有看到一种方法可以将其配置为允许的。无论是跨区域还是跨协议,没有访问SL控件或代码的权限,您知道有什么方法可以验证错误吗?我没有看到从浏览器抛出的任何错误,当我使用fiddler时,我在流量中看不到任何有用的东西。也许换一种方式来说,除了访问策略限制的逻辑和一般知识之外,还有什么方法可以诊断这个问题。此外,我明白为什么这有助于保护我的电脑。然而,如果我这么想的话,有没有办法让我个人选择让我的电脑不那么安全,让它工作起来?