CAG文档中的所有QuickStarts和RI示例都很好,但我缺少更多的企业级示例。
假设我们有40+模块,每个模块都包含一个代理、外观、PresentationModel、模型和视图。每个模块还调用特定于模块的WCF服务,该服务将承载在IIS或独立控制台主机中。我们的方法是将UI模块、服务模块和相关测试包含在一个解决方案中,以便它们可以独立于其他模块进行开发和测试。
我的问题是,当服务在单独的模块中时,应该如何托管服务,以及当我按下F5时,如何实际运行单独的模块和其余的应用程序模块。有没有这方面的最佳实践?我想以前有人这么做过吧?
发布于 2010-06-15 23:06:05
我们最终得到了一个相当简单的解决方案,其中我们将托管项目作为“启动”项目包含在解决方案中。该项目被设置为不生成并且具有模块的依赖项。
所有的服务DLL都输出到一个公共文件夹,宿主项目在这里动态地加载它们,查找ServiceContract属性并启动宿主。
发布于 2010-06-03 23:51:05
当然,您可以将每个模块作为服务点的应用程序或虚拟目录实例进行托管,但我想要说的是,您是否允许解决方案分区的开发“便利性”决定了您的服务的生产体系结构?我们通常基于层而不是模块分区来处理这一点-换句话说,你应该有一个包含域/模型的项目和一个包含服务的项目,然后每个“模块”都可以引用公共的服务池。我猜这取决于模块的相互关联程度,有多少交叉通信,等等。
可以将每个服务配置为在不同的端口或目标上运行,但我再次感觉到,您的问题可能源于服务的体系结构,并且您可以从跨模块共享的公共服务项目中受益。
https://stackoverflow.com/questions/2963967
复制相似问题