When should a web service not be used?
Web Service or DLL?
答案有帮助,但他们都有一点特定的情况.我想得到一个更普遍的想法.
何时应该通过共享库(DLL)考虑Web服务,反之亦然?
解决方法
Web服务专为机器互操作而设计,并且可以接触到观众
通过使用HTTP作为传输手段.
一个很重要的一点是,通过发布服务你也开放使用
服务于潜在的广泛的观众(在网络上或至少在整个的
整个公司)和/或大部分在您的控制/影响/沟通渠道之外
你不介意或这是需要的.客户端使用该服务容易得多
只需要有互联网连接并消费服务.不像一个图书馆
可能不是很容易做(但可以做到).该服务的使用大部分是开放的.你正在使用它,任何人觉得他们可以使用它,然而他们觉得使用它.
然而,Web服务通常较慢,并且取决于互联网连接.
通常比代码库更难测试.
维护可能比较难其中大部分取决于您的维护和编码实践.
如果需要上述几个功能,或者至少其中一个功能,我将考虑使用Web服务
被认为是最重要的,缺点是可接受的或必要的邪恶.
共享图书馆怎么样?
如果你更多地在“控制”你的环境或想成为什么?你知道谁将使用代码
(界面不是维护的问题),你不必担心互操作.你处于一种情况
您可以轻松实现共享,无需大量工作/跳跃即可跳过.
我在想什么时候使用的例子:
您的控制中有许多应用程序都托管在同一个服务器上,或两个将使用该库的应用程序.
不是很好的例子,你有很多应用程序,但都是托管在十几个服务器上. Web服务可能是一个更好的选择.
你不知道你的代码可以使用或者如何使用,但是知道它对许多代码是有价值的.网络服务.
您正在写一些仅由有限的应用程序使用的东西,也许是一些帮助功能.图书馆.
你正在写一些高度专业化的东西,不适合许多人消费.如您的业务线的API
没有人会使用的应用程序.图书馆.
如果所有的事情都相同,那么从共享库开始并将其转换为Web服务将变得更加容易,反之亦然.
还有更多,但这些是我的一些想法…