【问题标题】:ASP.Net Web and WCF projects in the same solutionASP.Net Web 和 WCF 项目在同一个解决方案中
【发布时间】:2013-07-05 16:05:29
【问题描述】:

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

每一层我都有一个项目

  • 常见
  • DAL
  • 商业 //
  • 服务 // WCF
  • 服务主机
  • 网络

上面列出的项目也以相同的顺序调用;所以 Web 与 Service tier 对话,Service tier 与 Business 对话,Business 与 factory 对话,工厂项目负责与 DB 对话。

我遇到的问题是在按 F5 启动 Web 项目之前设置我的项目 - ServiceHost(它只是 WCF 的自托管控制台)应该首先启动,以便当 Web 调用服务时;它已经启动并运行了。

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

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

有人可以告诉我要实现上述目标我需要做什么吗?

【问题讨论】:

  • 你不能使用启动多个项目选项来包括你的服务主机和网络项目来启动
  • 谢谢拉杰什;我不知道如何将您的答案或评论投票为正确答案,因此我将蒂姆的答案作为正确答案,但功劳归于您 :)

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


【解决方案1】:

正如 Rajesh 所建议的,您将多个项目设置为在多项目解决方案中启动。为此,请选择 DEBUG -> Set Startup Projects(或右键单击解决方案并从上下文菜单中选择 Set Startup Projects...。

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

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

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

【讨论】:

  • 谢谢@Tim;是的,这正是我想要的,但主要归功于@Rajesh。
猜你喜欢
  • 2015-06-05
  • 1970-01-01
  • 1970-01-01
  • 2013-09-06
  • 1970-01-01
  • 2021-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多