【记录】在Windows Server AppFabric中设置WCF

来源:互联网 发布:mac地址含有非法字符 编辑:程序博客网 时间:2024/06/06 00:34

最近一段时间一直在研究WCF,今天重点研究了下关于WCF的宿主,之前一直用的Windows服务作为WCF服务的宿主,偶然发现,如果在非特别的需求下,官方推荐的是用AppFabric(必须要.NET Framework 4.0支持)。于是花了些时间配置,总算还是搞定了,其中有几个要点,记录一下。

要点1:配置自动启动,在IIS7.0中建立一个新的站点,虚拟目录内专门为服务建立一个文件夹,然后右键该文件夹,转换为应用程序,此时,点击右键“管理 WCF 和 WF 服务”,配置,就会在对话框多出一个“自动启动”的选项,如果不进行这一步,而是把服务直接放到虚拟目录的根目录下,在“管理 WCF 和 WF 服务”的配置里面,是看不到“自动启动”的。注意这个对话框的窗口,会有几种描述:

1.为应用程序配置 WCF 和 WF

2.为站点配置 WCF 和 WF

3.为服务器配置 WCF 和 WF

这里还有个需要注意的地方:


选择配置编辑器。


选择如上图的节点,然后在集合出点击省略号按钮,打开对话框后,选择使用的应用程序池,将属性的startMode设置为AlwaysRunning。

要点2:启用net.tcp协议,要启用net.tcp,首先要注意的是不能在WCF服务的Web.config中配置地址,无论是Endpoint的Address属性,还是baseAddress节点,都不要配置,直接在IIS中的绑定里面添加一个net.tcp协议,如下图:


绑定信息里表示启用的端口,例如5588端口。

然后选择在上一个要点中,转换为应用程序的那个目录(转换为应用程序后,图标会改变,如下图),选择高级设置:


(PS:注意TestService节点的图标,本来是一个文件夹),在已启用的协议中添加一个net.tcp。此时,服务已经可以正常访问了。

要点3:应用程序池的.NET Framework版本要选择为v4.0,托管管道模式要选择为集成(不知道这个是不是必须的)

要点4:先上图:


注意在客户端引用服务时,要输入完整的虚拟路径,例如本例中就是:http://localhost:5555/TestService/Service1.svc。生成后,会自动添加服务调用的终结点,我采用的net.tcp,端口号是5588,那么生成的终结点就是:net.tcp://localhost:5588/TestService/Service1.svc。

原创粉丝点击