1

我在母版页的内容上有一个 silverlight 2.0 对象。我在本地看到它,但发布后在主机上看不到。根据微软博客,我添加了 2 种 MIME 类型的 xaml 和 xap,但没有出现 silverlight 对象。我看不到 silverlight 对象的内容,但我可以通过右键单击来配置 silverlight。请指导我。

4

5 回答 5

3

如果您可以右键单击并获取 Silverlight 菜单,那么您的object代码显然正在呈现 OK,这是一个好的开始。

您没有提到您是否看到“百分比加载”蓝点动画?如果出现这种情况,则插件正在加载您的 XAP 文件 - 但如果您没有看到加载动画,则可能是“获取”XAP 文件本身存在问题。有两个常见的原因:

1)服务器不会提供 XAP 文件。这实际上很常见,因为默认情况下 IIS 不会提供未知文件扩展名,对于许多托管服务提供商来说,这包括.XAP. 检查这很容易:只需将 XAP 的路径放在浏览器中并尝试下载它......例如。http://racereplay.net/ClientBin/Silverlight2.xap应该会弹出一个“下载此文件”对话框。

如果您收到404 Page Not Found,那么这就是您的页面无法正常工作的原因。

在这种情况下,解决方法是 (i) 更新 IIS 设置(您说您已经设置了 MIME 类型,所以只需检查它们是否正确)或 (ii) 将您的重命名.XAP.ZIP(文件本身和<object>标签中) . 大多数服务器对 ZIP 文件都没有问题,Silverlight 也不介意。

2) XAP 的路径可能是错误的。仔细检查路径是否正确,例如本例

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="../ClientBin/Silverlight2.xap"/>

如果上面的标签位于http://racereplay.net/SmhHalf/default.aspx... 将 XAP 路径(源)复制到 URL 并验证您是否收到下载文件的提示,例如 http://racereplay.net/SmhHalf/../ClientBin/Silverlight2.xap

在这种情况下,解决方法只是让路径正确。您提到该<object>标签位于母版页上,因此您可能需要一个绝对路径(例如“/ClientBin/Your.XAP”),因为我猜您的母版页可以用于/default.aspx您网站上的任何子目录(/AboutUs/Help.aspx或其他任何子目录) )。

正如安东尼所说,服务器上的软件是无关紧要的(除了允许.XAP下载文件的 Web 服务器),所以不用担心那里的 .NET 版本。

如果您在尝试这些建议(可能还有实际的 URL 本身)时更新您的帖子,其他人可能会提供更多建议。

于 2009-06-08T09:42:36.233 回答
0

使用Fiddler进行调试以查看实际请求的内容。您确定您已将 XAP 发布到 HTML 期望的位置(通常是 ClientBin 文件夹)吗?

编辑

补充问题是“silverlight 2.0 在主机上需要 .NET 3.0 还是 3.5?”

主机上运行的 .NET 版本并不重要。可以用普通的旧 HTML 交付 silverlight 应用程序。

于 2009-06-07T15:36:12.767 回答
0

如果您正在使用 WCF Web 服务,请确保您的 iis 根目录中有一个 clientaccesspolicy.xml 文件。如果您在启动时调用服务,它可能会导致项目抛出异常并停止执行。

于 2009-06-08T19:48:05.243 回答
0

我正在使用共享虚拟主机。将 xap 文件重命名为“zip”并更新标签中的文件名后,我的第一个 silverlight 应用程序正在运行。

谢谢。

于 2009-06-30T16:08:25.083 回答
0

是的,正如你们所说的那样,我也有问题,但是当我将 de 文件扩展名更改为 zip 时,它起作用了..

似乎必须在 MIME 的 IIS 中添加 xap 扩展

伙计们。

于 2009-07-17T21:51:36.147 回答