news 2026/6/11 23:43:16

17、WCF服务托管全解析:从IIS到自托管的深入指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
17、WCF服务托管全解析:从IIS到自托管的深入指南

WCF服务托管全解析:从IIS到自托管的深入指南

1. 在IIS 7中托管服务

1.1 IIS的发展与架构

在Windows 2003和Windows XP SP2上可用的IIS 6中,引入了应用程序池作为托管应用程序的运行时容器。这使得可以按进程控制启动和关闭、标识和回收服务,还自然地提供了应用程序之间的进程隔离,提高了可靠性。而在Windows Vista和Windows Server 2008上的IIS 7中,进程管理得到了扩展,以支持多种协议,并被移到了Windows激活服务(WAS)中。ASP.NET也进行了扩展,以支持在WAS中进行进程激活和服务托管。

1.2 托管服务的步骤

在IIS 7中托管服务,需要完成以下三个基本步骤:
1. 创建一个IIS虚拟应用程序。虚拟应用程序是IIS的一种构造,它结合了网站、协议侦听器和进程激活。网站是存储文件的虚拟目录,IIS的侦听器进程是w3svc,它利用8进行网络I/O。进程激活维护代码的运行时环境,在IIS中定义为应用程序池(AppPool)。
2. 创建一个SVC文件来定义服务实现。SVC文件会在三个地方查找服务的实现:首先是SVC文件本身,然后是虚拟目录的/bin文件夹,最后是机器的全局程序集缓存(GAC)。它的功能类似于IIS 6中的ASMX文件。
3. 在web.config文件中包含<system.serviceModel>部分。该部分定义了服务和端点,即WCF的ABC(地址、绑定和契约)。由于服务由IIS托管,而IIS只了解HTTP传输,因此web.config <

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!