【问题标题】:Should I use WCF instead of DLL in c#我应该在 C# 中使用 WCF 而不是 DLL
【发布时间】:2014-12-15 02:58:05
【问题描述】:

我需要一些关于在我的程序中使用 WCF 或 DLL 的建议。我正在开发一个程序,它将是桌面应用程序和 Web 应用程序。该架构是多层的。我应该在业务层做什么,我是否应该将其作为命名空间并将其构建为 dll,然后在我的桌面应用程序和 Web 应用程序中添加引用此 dll 或者我应该将业务层设为 Web 服务,然后我可以在我的应用程序中使用。使用 Web 服务而不是 dll 时我必须考虑的事项。

【问题讨论】:

  • 如果您想要最大的灵活性,请将业务逻辑放入类库(DLL)中。然后,当/如果您需要服务时,您可以编写一个作为现有 DLL 的包装器。

标签: wcf dll architecture


【解决方案1】:

刚开始,您可以创建一个解决方案,其中包括:

  • 业务逻辑项目
  • 网络应用项目
  • 桌面项目

Web App 项目和桌面项目只会引用您的业务逻辑项目。然后(如果需要)您可以继续将业务逻辑项目分离到例如数据访问项目、服务层项目等

如果您觉得需要“真正的”WCF 服务,那么从您的解耦架构中创建一个服务会很容易。

【讨论】:

  • 感谢您的回答,但这不是我所要求的。我很了解软件结构,但我的问题是在决定 dll 和 Web 服务时应该考虑什么
  • 我认为这完全取决于这个 WCF/dll 的消费者是谁。如果您事先知道会有多个消费者(希望通过网络使用服务),那么 WCF 可能是一个自然的选择。如果除了您自己之外没有(到目前为止)消费者,并且您不想遇到网络连接、防火墙等问题,那么 DLL 可能是一个自然的选择。从简单(但解耦)解决方案开始,然后在需要时将其演变为 WCF 是正常的。
【解决方案2】:

您应该使用像 http webapi 这样具有广泛客户覆盖范围的 RESTful 服务

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-01
    • 2012-11-19
    • 2023-03-15
    • 2011-03-02
    • 2016-05-23
    • 2020-05-02
    • 2010-09-28
    • 2016-06-21
    相关资源
    最近更新 更多