CAG 文档中的所有快速入门和 RI 示例都很好,但我缺少更多企业级示例。

假设我们有 40 多个模块,每个模块都包含代理、外观、演示模型、模型和视图。每个模块还调用特定于模块的 WCF 服务,该服务将托管在 IIS 或独立控制台主机中。我们的方法是将 UI 模块、服务模块和相关测试纳入一个解决方案中,以便它们可以与其他模块分开开发和测试。

我的问题是当服务位于单独的模块中时应如何完成服务的托管,以及当我按 F5 时如何实际运行单独的模块与其余应用程序模块。这有最佳实践吗?我想以前已经做过了?

有帮助吗?

解决方案 2

我们最终获得了一个相当简单的解决方案,在该解决方案中,我们将托管项目作为解决方案中的“启动”项目。该项目设置为不构建和具有模块的依赖关系。

所有服务dll:s均输出到一个通用文件夹,主机项目正在动态加载它们,查找ServiceCectract属性并启动主机。

其他提示

您当然可以将每个模块托管为服务点的应用程序或虚拟目录实例,但我想要说的是,您是否允许解决方案分区的开发“便利性”决定您的服务的生产架构?我们通常基于层而不是模块分区来处理此问题 - 换句话说,您将拥有一个包含域/模型的项目和一个包含服务的项目,然后每个“模块”都可以引用公共服务池。我想这取决于模块的相互关联程度,有多少交叉通信等等。

每个服务都可以配置为在不同的端口或目标上运行,但同样,我感觉您的问题可能源于服务的体系结构,并且您可能会受益于跨模块共享的通用服务项目。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top