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 <
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



