Silverlight发布中的问题

时间:2009-06-07 14:45:32

标签: .net asp.net silverlight publishing

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

5 个答案:

答案 0 :(得分:3)

如果您可以右键单击并获取Silverlight菜单,则object标记显示正常,这是一个良好的开端。

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

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

如果您收到404 Page Not Found,那么这就是您的网页无效的原因。

在这种情况下的修复是(i)更新IIS设置(你说你已经设置了MIME类型,所以只检查它们是否正确)或者(ii)重命名你的.XAP到{{ 1}}(文件本身和.ZIP标签中的AND)。大多数服务器对ZIP文件没有任何问题,Silverlight也不介意。

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

<object>

如果以上标记位于<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> <param name="source" value="../ClientBin/Silverlight2.xap"/> ...将XAP路径(源)复制到URL上并验证是否提示您下载文件,例如 http://racereplay.net/SmhHalf/../ClientBin/Silverlight2.xap

在这种情况下,修复只是为了使路径正确。您提到主页上的http://racereplay.net/SmhHalf/default.aspx标记,因此您可能需要绝对路径(例如“/ClientBin/Your.XAP”),因为我猜您的主页可能会被使用在<object>以及您网站上的任何子目录中(/default.aspx或其他)。

正如安东尼所说,服务器上的软件无关紧要(除了允许下载/AboutUs/Help.aspx文件的网络服务器外),所以不要担心那里的.NET版本。

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

答案 1 :(得分:0)

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

修改

补充问题是“Silverlight 2.0在主机上需要.NET 3.0或3.5吗?”

主机上运行的.NET版本并不重要。它可以用普通的HTML格式提供silverlight应用程序。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

感谢。

答案 4 :(得分:0)

是的,因为你们有人说我也有问题,但是当我改变de文件扩展名为zip工作..

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

thnx人。