2010-09-30 206 views
8

我需要开发一个WCF服务器(基本上是一个最终将在IIS中运行的Web服务)和一个访问该服务的客户端应用程序。我在同一个Visual Studio(2008)解决方案中同时拥有客户端和服务器项目。Visual Studio:同时开发WCF客户端和服务器

在开发过程中,建议将客户端连接到服务器的方式是什么?

两个可能的解决方案立刻浮现在我的脑海里:一是每次更改后部署服务器项目的一些IIS,另一种是启动Visual Studio的两个实例,并使用了一个固定的TCP端口(视觉-Studio-integrated)服务器项目的Web服务器。

因为这些选项都显得特别优雅我,我在想,如果我有可能忽略了明显的“正确的方式”来做到这一点...

回答

17

我的做法是这样的:
- 右键单击​​您的解决方案文件,然后选择设置启动项目...
- 选择多启动项目并选择适合您的客户端和服务器项目开始,让其他的人设置为

现在这两个项目都将在启动时运行,并且您将能够对它们进行调试。

1

,因为我已经使用了很多的WCF服务我项目,我不想运行太多的VS实例进行调试,这是我所做的: -

如果你有一个本地IIS可以,你可以考虑这个。

  1. 对于每个WCF服务,我创建了一个Web站点项目。

  2. 本网站项目也作为本地IIS中的Web文件夹共享。例如http:\ mylocalmachine \ WCFService1 \ servicefile.svc

  3. 在我的WCF客户端web.config中,该服务的URL如上指定。 如(HTTP:\ mylocalmachine \ WCFService1 \ servicefile.svc)

  4. 因为我不想每次我改变服务时手动部署,在后生成的每个WCF服务项目中,我有一个postbuild任务副本bin目录的内容到相应的WCF服务的网站的bin目录(一次性设置后期建立)

  5. 我的文件夹结构是这样的,每个服务项目都有一个服务主机(网站)项目在同一层次,所以后期建设也非常简单。当我运行我的WCF客户端(F5),服务项目被编译,他们的内容被复制到网站斌(即自动部署到IIS),我可以调试任何服务,只需进入代码作为我的服务是在同一个解决方案,我的WCF客户端

另外一个这种方法的好处是,我调试(至少应的服务)也使用IIS类似于我的产品设置将是什么样子。

编辑:我不把服务主机项目(网站)在我的解决方案,否则运行我的WCF客户端时,VS开辟了他们每个人的卡西尼实例,这是刺激性的,我反正不需要或使用