以往搞Silverlight都是学习研究之用, 在项目中应用还属首次, 发布遇到的问题也是蛮多的, 郁闷了一周, 总算是搞定了, 如今总结一下.
入主题前先说一下部署过程中有个问题让我很是费解: .NET v4.0.30280 这个版本哪里来的? 客户竟然搞到这个版本, 而且安装到了他们的服务器上, 害得Ria Services中使用的ORM(Devart 的 dotConnetct for Oracle )无法反射, 还以为是这个provider不支持Oracle10g呢, 差点跟Devart退货.
服务器环境: .NET4.0 + IIS6.5 + Silverlight 4 (未安装VS2010 , Ria Services 和 Silverlight Control Toolkit)
配置过程如下:
- 配置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目录
[silverlight control toolkit 的相关程序集]
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, 则需复制)
【理论指导实践,实践完善理论;站在巨人的肩上就是先学习理论再来实践!】
浙公网安备 33010602011771号