【问题标题】:Web Service vs DLL; Pros and Cons?Web 服务与 DLL;优点和缺点?
【发布时间】:2011-10-24 15:19:12
【问题描述】:

我正在为我们的网站实施一项网络服务,该服务通过互联网从第三方请求和接收数据。我还被要求为内部 Windows 应用程序创建一个复制 Web 服务功能的 DLL。

我的问题是;不创建 DLL 并将 WEB 服务用于内部和 Web 应用程序的优点/缺点是什么?

从维护的角度来看,我更愿意支持单一服务。想法或想法?

【问题讨论】:

    标签: .net winforms web-services


    【解决方案1】:

    创建 WCF 服务。 Windows 应用程序可以直接访问 dll 中的服务类,而 WCF 将其公开为 Web 服务。您只需要以这种方式编写和维护一段代码。

    【讨论】:

      【解决方案2】:

      在我看来,您应该将此逻辑创建为类似于 WCF 服务的东西,它可以以多种格式托管。接口优先的开发策略仍然允许您通过直接实例化服务将服务用作内存中的类,但您也可以使用带有代理的“共享内存”端点轻松地在使用服务之间切换Web 边界与共享内存与 TCP/IP。

      托管模型可以是 IIS 并使用 basicHttp 绑定,其外观和行为与传统 WebService 非常相似,但也可以托管在 Windows 服务、Windows 窗体应用程序甚至 ConsoleHost 应用程序中。

      【讨论】:

      • +1。此外,看看使用 ClientBase 并共享您的 ServiceInterfaces - 这样远程和内部客户端应用程序可以重用相同的接口,然后您还可以在 DLL 和真正的 Web 服务调用之间无缝切换您的客户端。
      • 这可能会增加很多不必要的开销。恕我直言,拥有一个由 WCF 服务使用的共享 DLL 是一种更快更好的解决方案。
      • 一种非常标准的方法是采用定义服务实现的接口,以及用于与之交互的代理,并使其可作为可再发行程序集使用。显然,将服务中的功能抽象为更小的组件或程序集也是一个好主意,但通过服务为该功能提供标准接口/API 本身就是一个巨大的好处,而不一定是开销。..
      猜你喜欢
      • 2011-06-09
      • 2011-03-27
      • 1970-01-01
      • 2023-04-04
      • 2011-03-04
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多