【问题标题】:.NET Remoting vs. Web Services vs. Windows Communication Foundation (WCF).NET Remoting vs. Web Services vs. Windows Communication Foundation (WCF)
【发布时间】:2009-02-03 16:34:39
【问题描述】:

有人愿意帮助我了解 .NET Remoting、Web 服务和 WCF 的优缺点吗?我在 .NET Remoting 和 Web 服务方面做了一些工作,我正在构建一个新的 ASP.NET 3.5 Web 应用程序,我将在其中使用 SQL 2008 DB。首先,我想知道是否值得为这个应用程序真正研究 WCF。

在这种特殊情况下,以下是一些相关点:

  • 大多数持久性数据都是错误和使用跟踪。
  • 即使我使用 .NET Remoting,流量也无法保证物理远程处理服务器,但我希望有一天它会实现!
  • 目前,我预计不需要从其他网络应用中获取这些数据。

不过,我还是想知道:

  • 您何时/为什么要在 Web 应用程序中使用 .NET Remoting?
  • 您何时/为什么要在网络应用程序中使用网络服务?
  • 您何时/为什么要在 Web 应用程序中使用 WCF?
  • 我应该考虑使用 LINQ to SQL 之类的技术吗?
  • 还有其他更好的选择吗?

【问题讨论】:

    标签: asp.net wcf web-services remoting


    【解决方案1】:

    实际上,我将我们的软件从传统的 .NET Remoting 切换到了 WCF。 Remoting 导致的通信膨胀是惊人的(只需查看 Wireshark 跟踪)。在迁移到 WCF 之前,我考虑过只使用传统的 .NET Web 服务,但我们为远程调用实现的接口需要进行大量修改(我们使用了一些 out 和 ref 参数,如果我不是,Asp.Net Web 服务无法做到这些)错了)。

    真的,我想不出使用 Asp.Net 网络服务的理由,但我不是 Asp.Net 人。对我来说,它比 WCF 没有任何优势。使用 Web 服务可能更容易,但 WCF 提供的灵活性正是我所需要的。尤其是在消息格式方面。

    我喜欢我的 WCF 服务,因为通过一项服务,我可以提供 JSON 或 SOAP/XML,并且支持所有协议(ipc、tcp 和 http)。

    如果您希望在基于 Web 的场景中使用 WCF,那么它的严格绑定要求您为 HTTP 和 HTTPS 定义一个端点。与传统的 Web 服务不同,它“正常工作”,无论其安全与否。

    【讨论】:

      【解决方案2】:

      好问题!像你自己一样,我以前没有看过 WCF,想知道它是否会使 Web 服务或多或少过时?

      关于您关于 Linq2SQL 的观点 - 鉴于这是一个出色的新应用程序,您可能会在几年内维护代码库 - 就个人而言(并且有可能因此而被否决 - 但请记住,这是一个有效的观点!)我倾向于查看实体框架。

      我知道它的缺点,对我来说最大的问题是它与 DAL 的耦合过于紧密 - 因此它不能轻易地进行单元测试(相信我,这对我来说是一个大问题,尽管我确实有胆量感觉有一种解决方法可以实现这一点)。

      但是,我个人的看法是,MS 不会让这项技术被淘汰,而且我必须考虑到有关它将取代 L2S 的传言。另一方面,L2S 是一种更成熟的技术,也是一种更安全的选择。

      也许我太天真了,但我相信 Dan Simmons 说他们正在(最终)将 EF 交付为一个完全持久无知的架构 - http://blogs.msdn.com/dsimmons/pages/ef-faq-entity-classes.aspx#_Does_Entity_Framework

      【讨论】:

        【解决方案3】:

        我更愿意研究 EF,然后是 L2SQL。

        只能连接到 MSSQL 的想法是我从未采用 L2SQL 的原因,从那时起很明显,MS 总有一天会放弃它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-05
          • 1970-01-01
          • 1970-01-01
          • 2011-01-02
          • 1970-01-01
          • 2016-07-21
          • 1970-01-01
          • 2018-06-27
          相关资源
          最近更新 更多