2010-01-08 65 views
0

我想在本地硬盘上存在的html文件中托管远程Silverlight小部件,但每当我打开html文件时,Silverlight内容都不会显示出来。如果我将文件移动到一个Web服务器,然后通过http访问它,它可以很好地工作。我想出了(或者至少我假设)这个小部件正在尝试拨打回Web服务器,但由于SL 2+中的cross zone restrictions而失败。我还看到一些用户在从本地文件进行调试时讨论遇到此问题的报告。我的问题是,我怎么能确定这是问题所在?我可以用什么工具来验证我的假设?从本地文件系统托管Silverlight小部件

此外,(有充分的了解,有特权安全问题需要考虑的提升)是否有任何方式可以将窗口小部件称为安全的Web服务声明为安全(例如添加到受信任的站点) Silverlight能够在没有安全异常的情况下执行调用的方式?

我说的是一个小部件的下面是一个例子:

<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> 
+0

此Silverlight控件是否允许您在自己的本地文件中托管? IOW,是你的还是你有权使用它? – slugster 2010-01-08 22:29:12

+0

不提交作为答案,因为我不确定,但你有没有看过“客户端访问策略”文件? http://www.silverlighttutorials.com/?p=148 – Sapph 2010-01-08 22:29:54

+0

Silverlight控件不是我的控件。在上面的示例中,它由memorabilia.hardrock.com托管,并由它们作为包含嵌入代码的小部件提供。他们确实允许跨域调用(我在http://hardrock.com/crossdomain.xml找到了客户端访问策略文件,并且当我只是在web服务器上抛出测试html文件时,按预期下载了内容),但是从文档这看起来像是跨区域调用的更多问题,而且我还没有看到配置它的方法。 – Joel 2010-01-11 12:38:51

回答

0

这是一个跨违反协议的问题 - 与文件的页面://协议无法使用HTTP访问的资产: // 协议。这也有助于保护您的计算机免受恶意Silverlight应用程序的访问。

+0

无论是跨区域还是跨协议,无法访问SL控制或代码,您是否知道验证错误的方法?我没有看到从浏览器抛出的任何错误,并且当我使用小提琴手时,我看不到任何看起来有用的流量。也许换一种说法,除了有关访问策略限制的逻辑和常识外,还有什么方法可以诊断这个问题。 此外,我明白为什么这有助于保护我的电脑。但是,如果我倾向于这样做,是否有任何方法可以让我个人选择让我的计算机不那么安全并使其工作? – Joel 2010-01-11 12:49:01