在IIS上部署Silverlight+WCF项目教程
1、在IIS部署Silverlight+WCF项目的前提是:在发布的机器上配置好IIS,具体操作参照http://www.jb51.net/article/29787.htm
2、IIS配置好后,打开IIS进行如下操作:
(1)在IIS中添加以下MIME类型,否则无法解析项目
.xap application/x-silverlight-app
.xaml application/xaml+xml
.xbap application/x-ms-xbap
(2)在IIS的【处理程序映射】中检查是否存在以下几个文件
接下来,就是对我们要发布的项目进行相应的配置。我们在编写Silverlight程序时,大多情况下都需要借助WCF来访问我们的后端数据库,在开发过程中访问数据库都是正常的,但是当把整个silverlight项目连同WCF发布到IIS上之后,会遇到这样一个问题:在本地IIS的服务器上能够正常访问数据库,但是当通过Client端执行程序时却无法访问数据库,也没有错误信息,调用页面都是正常的。
应该有很多人都遇到了这个问题,在网上也有很多关于这个问题的解决方法,但是绝大部分都是从跨域访问的角度来解决这个问题的,然后再尝试添加clientaccesspolicy.xmlcrossdomain.xml这两个配置文件,并且添加了IIS中MIME配置后,依然有很多人没有解决,最后通过重新对WCF进行了配置检查,更改了对WCF绑定和调用的方式,这才得以把问题彻底解决,下面和大家一起分享一下具体步骤。
(1)检查你的ServiceReferences.ClientConfig文件,这个文件是你在Silverlight程序中添加服务引用时自动生成的,检查里面绑定WCF的方式是否为BasicHttpBinding,具体代码如下:
如果为customHttpBinding,则需要手动进行修改,在你的Web工程下找到web.config文件,同样检查里面的WCF配置信息,绑定方式是否为"basicHttpBinding"方式,并且契约的名称是否填写正确,其具体代码如下:
修改完成后,在前端重新引用WCF服务。
最后,修改一下你调用WebService的代码:
在发布前需要还需要在ServiceReferences.ClientConfig文件将address改为本机IP。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。