因为我的项目有很多WCF服务,我不想运行太多实例的VS进行调试,这是我的解决方案:
如果你可以接受使用本地IIS,那么你可以考虑这个方法。
对于每个WCF服务,我都创建了一个Web Site项目。
这些网站项目也作为本地IIS中的Web文件夹共享。例如http:\ mylocalmachine \ WCFService1 \ servicefile.svc
在我的WCF客户端web.config中,服务的URL如上所述指定。例如(http:\ mylocalmachine \ WCFService1 \ servicefile.svc)
由于我不想每次更改服务时手动部署,因此在每个WCF Service项目的后期构建中,我有一个后期构建任务,将bin目录的内容复制到相应WCF服务的网站的bin目录中(后期构建的一次性设置)。
我的文件夹结构是这样的,对于每个服务项目,都有一个位于同一级别的服务主机(网站)项目,因此后期构建也非常简单。
当我运行我的WCF客户端(F5)时,服务项目被编译,它们的内容被复制到网站的bin目录中(即自动部署到IIS),我可以通过进入代码来调试任何服务,因为我的服务与我的WCF客户端在同一个解决方案中。
这种方法的另一个优点是,我的调试(至少是服务的调试)也使用与我的生产环境类似的IIS。
编辑:我不会将服务主机项目(网站)放在我的解决方案中,否则当运行我的WCF客户端时,VS会为它们中的每一个打开一个cassini实例,这很烦人,而且我也不需要或使用。