gpt4 book ai didi

silverlight - 如何跨域访问 Silverlight XAP 文件?

转载 作者:行者123 更新时间:2023-12-04 12:02:00 24 4
gpt4 key购买 nike

我正在尝试将位于一个子域中的 Silverlight 应用程序添加到另一个子域中的网页。出于某种原因,这只是简单的不起作用......我的 Silverlight 应用程序在 http://subA.domain.com/somepage.html 上的页面中被加载。 :

<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
width="800px" height="600px">
<param name="source" value="http://subB.domain.com/SilverlightApp.xap" />
<param name="onerror" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="2.0.31005.0" />
<param name="autoUpgrade" value="true" />
<param name="enableHtmlAccess" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight"
style="border-style: none" />
</a>
</object>
<iframe style='visibility: hidden; height: 0; width: 0; border: 0px'></iframe>
</div>

如果我将 SilverlightApp.xap 移动到 subA.domain.com,它会完美加载。跨域访问 XAP 文件需要哪些步骤?我一直在努力解决这个问题,但似乎一无所获。

谢谢!!

最佳答案

为了帮助遇到同样问题且不想使用 IFrame 的其他人,请参阅此 link ,因为它解决了我的问题。尽管作者指的是 Silverlight 2,但它已经解决了我在 Silverlight 3 中的问题。如果链接断开,我需要做两件事:

-- 在 Silverlight 应用程序中,编辑 AppManifest.xml 以添加以下内容:

<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
ExternalCallersFromCrossDomain="ScriptableOnly">

-- 如果您在 Silverlight 应用程序中使用 HtmlPage(例如在读取传递给托管页面的 QueryString 时),您还必须添加:
<param name="enableHtmlAccess" value="true" />

到托管页面中的 Silverlight 对象。

请注意,上述内容存在安全隐患,我不禁认为这就是 Microsoft 不竭尽全力传播这些信息的原因。但是,就我而言,我没有可编写脚本的 Silverlight 元素,而且由于我编写了 Silverlight 应用程序,因此托管页面允许 Silverlight 应用程序访问它没有问题。

在研究这个时,我注意到这个问题和相应的解决方案与一个单独的问题混淆,即 Silverlight xap 跨域边界访问 wcf 服务的问题。该问题确实需要一个位于承载 wcf 服务的网站根目录下的 clientaccesspolicy.xml 文件。

因此,可以让第一个站点访问第二个站点上的 xap 文件,第二个站点访问第三个站点上的数据服务,以获得最大的灵活性和重用性。

关于silverlight - 如何跨域访问 Silverlight XAP 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1051447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com