windows2003 IIS6 发布 Silverlight + Ria Services

来源:互联网 发布:淘宝店铺私活价格 编辑:程序博客网 时间:2024/06/05 19:46

配置过程:

  1. 配置ASP.NET应用程序池, 即将ASP.NET运行时改成v4.0.30319
  2. 添加MIME-Types
    .xap    application/x-silverlight-app
    .xaml    application/xaml+xml
    iis7.x自动集成了上述2个MIME类型, 而在iis6.x中则需手动添加
  3. 重新注册aspnet_regiis, 这一步我不知道是否必须(从.NET4.0.30280升级到.NET4.0.30319后发现连.aspx都无法解析)
  4. 网站允许匿名访问, 同时去掉集成身份验证, 否则在调用Domain Service时会出现"密钥键值对错误"这样的异常(即使在Web端配置clientaccesspolicy也不可)
  5. 复制相关.dll至bin目录
    Ria Services 的dll有:
      System.ServiceModel.DomainServices.Server.dll
      System.ServiceModel.DomainServices.Hosting.dll

      System.ServiceModel.DomainServices.EntityFramework.dll
    (如果使用ADO.NET EF则需要复制)
      System.ServiceModel.DomainServices.Hosting.OData.dll(如果在添加Domain Service时启用了OData, 则需复制)

部署常见问题,在调用服务操作数据库时出现类似如下异常:

 

消息: Unhandled Error in Silverlight Application 查询“GetVobdstreams”的 Load 操作失败。[HttpWebRequest_WebException_RemoteServer]
参数: NotFound
调试资源字符串不可用。密钥和参数通常提供足够的信息用以诊断该问题。请访问 http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.10411.0&File=System.Windows.dll&Key=HttpWebRequest_WebException_RemoteServer   位于 System.ServiceModel.DomainServices.Client.OperationBase.Complete(Exception error)
   位于 System.ServiceModel.DomainServices.Client.LoadOperation.Complete(Exception error)
   位于 System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult)
   位于 System.ServiceModel.DomainServices.Client.DomainContext.<>c__DisplayClass1b.<Load>b__17(Object )
行: 1
字符: 1
代码: 0
URI: http://127.0.0.1/Scripts/jquery-1.4.1.min.js

原因:svc服务没有建立

解决:将Web应用目录中,目录安全标签页中“认证和访问控制”弹出对话框中,仅选择“Enabled anonymous access ”使能匿名访问,而去掉集成认证。就是说仅有匿名访问。

**设置完成,最好将整个IIS 服务重新启动,这样不至于浪费时间。