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