ASP.Net Web和WCF项目在同一解决方案中

时间:2013-07-05 16:05:30

标签: asp.net wcf n-tier-architecture wcf-hosting

我正在使用Visual Studio 2010,我正在尝试创建一个包含N层架构的解决方案。

我每个层都有一个项目

  • 通用
  • DAL
  • 商业//
  • 服务// WCF
  • 的ServiceHost
  • 网络

上面列出的项目也以相同的顺序调用;因此,Web与服务层进行对话,服务层与业务和业务层对话,然后与工厂进行对话,工厂项目负责与DB进行对话。

我遇到的问题是以一种方式设置我的项目,在按下F5启动Web项目之前 - 应首先启动ServiceHost(它只是WCF的自主控制台),以便Web调用服务时;它已经开始运行了。

注意:在珠三角; Web和WCF将完全托管在不同的盒子上,所以这不是问题,但是在本地机器上进行开发 - 我需要上面的内容。

临时解决方案 - 我已从解决方案中排除了ServiceHost项目,因此它无法通过Web启动,我从命令行外部运行ServiceHost可执行文件以启动并运行服务然后我正常启动Web项目F5。

有人可以告诉我如何才能实现上述目标?

1 个答案:

答案 0 :(得分:8)

正如Rajesh建议的那样,您可以在多项目解决方案中设置多个项目。为此,请选择DEBUG - >设置启动项目(或右键单击解决方案,然后从上下文菜单中选择“设置启动项目...”。

这将为您提供一个窗口,列出解决方案中的所有项目。检查“多个启动项目”单选按钮,并为要运行的每个项目将“操作”列设置为“开始”或“无需调试启动”。您可以使用向上和向下箭头指定顺序。

如果您的Web应用程序要求服务在启动时可用(即,网站在初始化/启动期间调用该服务),您可能最好不要像现在一样(从命令运行WCF服务) ()),否则这应该可以让你到达目的地。

附件是截图(VS 2012),其解决方案类似于您在上面概述的解决方案:

enter image description here