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