.net 基于服务器的重用-DLL、GAC还是REST?
我们有一项功能,可供同一服务器上的多个不同应用程序(客户端)使用。它最好被建模为一个服务,有一个后端数据库,并且在任何时候都只有一个版本的功能和数据库在使用 到目前为止,我们已经使用了简单的DLL重用,其功能、配置文件和依赖项都部署在使用它的任何地方。因为现在任何更改都必须在多个地方进行,所以在创建新版本的功能或新客户机想要使用它时,这种方法是痛苦的 我们想知道是否有更好的方法来做到这一点,并提出了两种可能的选择.net 基于服务器的重用-DLL、GAC还是REST?,.net,architecture,service,reusability,.net,Architecture,Service,Reusability,我们有一项功能,可供同一服务器上的多个不同应用程序(客户端)使用。它最好被建模为一个服务,有一个后端数据库,并且在任何时候都只有一个版本的功能和数据库在使用 到目前为止,我们已经使用了简单的DLL重用,其功能、配置文件和依赖项都部署在使用它的任何地方。因为现在任何更改都必须在多个地方进行,所以在创建新版本的功能或新客户机想要使用它时,这种方法是痛苦的 我们想知道是否有更好的方法来做到这一点,并提出了两种可能的选择 将DLL(和依赖项)放入GAC中。接下来的问题是如何配置组件。由于客户端对配置不感
我们遗漏了什么重要的东西吗?以前有没有人遇到过类似的情况,并想分享一些见解?这是一个我曾多次努力解决的问题,除此之外,真的没有任何最佳答案。我个人认为,出于以下几个原因,您需要远离选项1:
最后一个建议是使用代理/门面模式将客户机与服务的实际位置隔离开来。这将允许您在不修改客户端代码的情况下随时间扩展。我想说,使用选项1将更简单、更容易,特别是因为您只需花费额外的时间限制其余代码的可用性。(双关语!)乔希指出WCF是一种选择,我肯定会这样做
这个问题正是SOA应该解决的 正如Josh所说,不幸的是,这类问题的答案通常是“视情况而定” 我是GAC的忠实粉丝,但你应该只把你确信它(几乎)完美运行的代码放在那里,并且不需要经常更新。只要一段代码处于“开发中”,就可以将它与使用它的每个应用程序一起发布