none
Silverlight部署在IIS运行不行,在vs里面就行,在所在目录下打开也不行? RRS feed

  • 问题

  • 很要命啊,弄了很久还没搞定。虽然这个问题,在论坛上已经有好几个了。我的问题是这样的,一个Silverlight 应用程序访问数据库,只是用dataGrid显示出来,用的是ADO .NET Data Services。在vs下调试没什么问题,运行在IIS下,能看到网页,但是点击一下Button之类的事件触发连接数据库并显示数据时,就出现问题,在IIS下没什么反应,在目录下打开就会出现如下:
    网页错误详细信息
    用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 4.0.20506)
    时间戳: Mon, 31 Aug 2009 12:41:28 UTC
    消息: Unhandled Error in Silverlight 2 Application 需要不包含查询或片段的格式正确的绝对 HTTP URL。
    参数名: serviceRoot   位于 System.Data.Services.Client.DataServiceContext..ctor(Uri serviceRoot)
       位于 SilverlightApplication1.ServiceReference1.testUserEntities..ctor(Uri serviceRoot)
       位于 SilverlightApplication1.Page.OnLoaded(Object sender, EventArgs args)
       位于 System.Windows.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
       位于 MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
    行: 1
    字符: 1
    代码: 0
    URI: file:///D:/SilverlightApplication1/SilverlightApplication1.Web/Silverlight.js

    添加.xap、.xaml扩展类型,跟在根目录下添加clientaccesspolicy.xml、crossdomain.xml,已经试过了,还是不行。我也觉得是跨域问题,但不知道怎么解决。期待成功架设过Silverlight+database及有过相关问题的江湖人士相救!!!


    Thanks for any help!
    2009年8月31日 12:53

答案

  • 如果你确定不存在CorssDomain的问题的话我觉得很有可能是Data Service的问题。
    你在IIS中访问Data Service的URL和在VS.NET中调试Data Service时的URL应该是有所区别的。
    1)首先检查一下你的Data Service是否在IIS中部署成功了。 用URL直接访问。
    2)如果Data Service没有问题的话检查一下你的调用方式。看调用过程中相关的事件是否都成功触发并正确执行调用。
    2009年8月31日 14:12
  • 确认RIA Service部署是否正确
    确认Silverlight 是否连接到正确部署的RIA Service
    确认你的RIA Service跟Silverlight xap在一个Domain下就不用设置跨域,如果不是就要配置一下跨域权限。


    如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答”
    2009年9月1日 2:15
    版主

全部回复

  • 如果你确定不存在CorssDomain的问题的话我觉得很有可能是Data Service的问题。
    你在IIS中访问Data Service的URL和在VS.NET中调试Data Service时的URL应该是有所区别的。
    1)首先检查一下你的Data Service是否在IIS中部署成功了。 用URL直接访问。
    2)如果Data Service没有问题的话检查一下你的调用方式。看调用过程中相关的事件是否都成功触发并正确执行调用。
    2009年8月31日 14:12
  • 确认RIA Service部署是否正确
    确认Silverlight 是否连接到正确部署的RIA Service
    确认你的RIA Service跟Silverlight xap在一个Domain下就不用设置跨域,如果不是就要配置一下跨域权限。


    如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答”
    2009年9月1日 2:15
    版主
  • 很对不起大家,因为开学,社团很多事务·····不过,我这个问题,昨天弄了一天还是不行!可以帮我部署调试一下吗?我的qqs:476005311,MSN:VOROQ@hotmail.com
    Thanks for any help!
    2009年9月18日 5:38