日期:2011-09-30  浏览次数:20893 次

如果一个人在调试 web part , w3wp 进程会被这个人占用的. 其他人就没办法打开网站上任何的 asp.net 程序.
有什么好的办法,
可以让项目组成员可以同时启动调试而不会发生并发冲突?
---------------------------------------------------------------

解决方法: 基于 IIS 6 的新特性: Application Pool
每个 Application Pool 都启动独立的 w3wp.exe 进程.
所以, 可以配置不同的 wss website 来映射同一个 wss website

比如, 现在服务器 80 端口的 website 是要多个开发员同时进行远程调试的 Virtual Server, site name 为 Default Server

具体步骤
一. IIS 配置
1.1 打开 IIS, 新建一个调试用的 website, 并分配端口, 比如: 88 端口, Home Directory 与 Default Server 一样
二. SharePoint 配置
2.1 进入 SharePoint Central Administration ->Virtual Server Configuration / Extend or upgrade virtual server
2.2 在 Virtual Server List 里点击刚才新建的 website name进入 Extend Virtual Server 页面
2.3 选择Provisioning Options 是 Extend and map to another virtual server 进入 Extend and Map to Another Virtual Server 页面
2.4 配置 Virtual Server 选项:
Server Mapping 选择是 Default Server
Application Pool 项是 Create a new application pool, 然后按提示输入相关的信息, 之后按 OK 完成

操作成功后,
留意服务器的 Application Pool 会多了一个刚才新建的 Application Pool,
在开发机进入 http://server:88 后, 服务器会启动多一个 w3wp.exe 进程.
多个 w3wp.exe 有不同的ID, 都是独立的,
至于哪个 w3wp.exe 进程是你的, 这个.... 这个... 唯有一个一个地去试了 :(