您的位置:首页 > 其它

【菜鸟学WCF】以IIS为宿主创建WCF服务及问题解决

2014-05-07 20:51 501 查看
闲谈两句:

今天刚开始学WCF,第一个wcf程序是寄宿在Winform程序之上的,完全照着网上大神的教程code的,感觉良好,还算简单。但是当写宿主为iis的程序时,虽然网上也是各种教程,但是就是看不懂。下面把创建这样的应用程序的过程写下来,纪念死去的脑细胞吧。

如果需要最终的Demo,请点击这里

创建WCF:

1、首先创建一个WCF类库,这里命名为ServiceLib,放在WcpInIIs文件夹下(貌似打错了,应该是WcfInIIs,好吧,不改了)如图:



2、在IService1中添加如下代码:



3、在Service1类中添加如下代码:



4、ServiceLib代码就这些,简单吧?接下来,添加网站WebApplication(当然也可以是Website,没什么影响),看截图吧:



5、然后是添加“WCF服务”:



6、删除WebApplication中的两个文件(IService1.cs和Service1.svc.cs):



7、在WebApplication中添加ServiceLib的引用:



8、将WebApplication设置为启动项目,WebApplication下的Service1.svc设置为起始页:





9、Ctrl+F5执行成功,如图:



OK,这样我们的程序就完成了,但是在将该程序部署到IIS的时候,又有问题出现了(具体怎么发布网站和将网站部署到IIS上就不再赘述了):

问题一、出现如下错误,Web服务器被配置为不列出此目录的内容:



需要添加默认文档:



问题二、请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。



按照网上说的的方法,重新注册FCL4.0(http://blog.163.com/xhyzdai@126/blog/static/7325331120123168322021/),发现还是不行。

后来,解决方法是,因为我们的程序是建立在FrameWork4.0基础上的,而iis配置的应用程序池配置错误:





将上图中.Net framework版本改成4.0,问题就解决了。

ps:至于如何调用该程序,请参考网上教程,很多,不多说了,谢谢浏览。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐