.NET Remoting与Web服务与Windows Communication Foundation(WCF)

时间:2009-02-03 16:34:40

标签: asp.net wcf web-services remoting

有谁愿意帮助我解决.NET Remoting,Web Services和WCF的优缺点?我已经使用.NET Remoting和Web Services进行了一些工作,我正在构建一个新的ASP.NET 3.5 Web应用程序,我将使用SQL 2008 DB。主要是我想知道是否值得真正研究这个应用程序的WCF。

在这个特定的例子中,这里有一些相关的观点:

  • 大多数持久数据都是错误和使用情况跟踪。
  • 即使我使用.NET Remoting,流量也不能保证物理远程处理服务器,但我想有一天会想到它!
  • 目前,我预计不需要从其他网络应用中获取此数据。

但是,我仍然想知道:

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

3 个答案:

答案 0 :(得分:7)

我实际上将我们的软件从传统的.NET Remoting切换到了WCF。从Remoting发生的通信膨胀是惊人的(只看一个wireshark跟踪)。在转移到WCF之前,我想过只使用传统的.NET Web服务,但是我们为远程调用调用的接口需要进行大量修改(我们使用了一些out和ref参数,如果我不是Asp.Net webservice不能做的话。误)。

真的,我无法想出使用Asp.Net网络服务的原因,但我不是Asp.Net的人。对我而言,它没有优于WCF的优势。使用Web服务可能更容易,但WCF提供的灵活性是我所需要的。特别是在邮件格式化方面。

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

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

答案 1 :(得分: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

答案 2 :(得分:0)

我更愿意关注EF和L2SQL。

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