忽然有一天,接到一个客户奇怪的需求,
客户:我想弄一个XP的服务器,在上面部署一个WCF, 小白,你看合理不?
小白:。。。。?
客户:我觉得可以,你装个iis, 写个wcf 服务,一部署就可以访问了,应该很简单把!
小白:xp好像只有iis5, wcf 要.net framework 3.0以上!
客户:不,应该弄个Restful wcf, Restful 比较火,我们要与时具进!
就这样开始了我xp 上安装iis5, iis5上部署wcf 的路程,经过网上的各种查,各种摸索,总结如下:
一:准备环境
1:升级xp 到 service pack 3
2:安装iis
3:安装.net framework3.0, .net framework3.5, .net framework4.0
4:为了可以处理wcf的request,安装ServiceModel
进入C:\windows\System32\ 已管理员身份运行cmd.exe
输入:cd C:\Windows\Microsoft.NET\Framework\v3.0\WindowsCommunication Foundation
输入:ServiceModelReg.exe–r
5: aspnet账户权限分配
在cmd中输入: cd C:\Windows\Microsoft.NET\Framework\v2.0.50727
输入:aspnet_regiis.exe–ga ASPNET
经过上面的一波折腾,iis5,就可以运行wcf程序了,感觉工作完成了一大半,剩下的路就是把wcf变成Restful service了。
二:创建restful风格的wcf服务
简单粗暴,我们直接上图
注:在写IService时,我们需要加一个Reference:(System.ServiceMode.Web)
接下来就是经典的web.config 配置,我们直接上代码:
三:部署到iis
经过上面的,安装,code的编写,web.config的配置一系列的努力之后,接下来就是见证奇迹的时刻,那就把我们的code 部署到iis5,上面,并让他稳稳的运行起来!
1:因为iis5没有应用程序池和site的说法,所以我们就只能新建一个虚拟路径来部署我们的wcf service
2:完成第一步的创建后,我们下面就给service设置访问的权限,在这里我全部都勾选上,在实际项目中可以依据具体情况设定
3:完成了上面的走骤后,接下来就是添加mapping映射了。
4:为了让iis可以接收并处理我们的.svc请求,我们还需要再添加一个aspnet_api的dll到iis中(关于为什么要添加第三步和第四步,后面我会再写一篇文章专门用来将iis的工作机制)这篇文章大家可以按步就班的来操作,尤其是没有玩过iis的小伙伴!
5:设置我们wcf运行的.net环境
6:设置访问的ip和端口号
7:如果设置default site的.net 运行环境
通过上面的一片折腾后,我们的restful service就正在的部署好了。这里我们需要一个测试工具那就是post man!百度一下就可以下载一个,使用起来也很简单。使用方法给大家截个图: