是否有人愿意在.NET Remoting,Web Services和WCF方面的优点/缺点帮助我?我已经与.NET Remoting和Web Services进行了一些合作,并且正在设计一个新的ASP.NET 3.5 Web应用程序,该应用程序将使用SQL 2008 DB。首先,我想知道是否值得为此应用程序真正了解WCF。
在这种特定情况下,以下是一些相关的要点:
但是,我仍然想知道:
最佳答案
我实际上将我们的软件从传统的.NET Remoting切换到了WCF。 Remoting引起的沟通膨胀令人惊讶(只需看一下wireshark的痕迹)。在转向WCF之前,我曾考虑过仅使用传统的.NET Web服务,但是我们为远程调用所隐含的接口(interface)将需要进行大量修改(如果我不使用Asp.Net Web服务则无法使用某些out和ref参数)错误)。
的确,我想不出使用Asp.Net Web服务的理由,但我不是Asp.Net的家伙。对我来说,它没有WCF的优势。使用Web服务可能更容易,但是WCF提供的灵活性正是我所需要的。特别是在消息格式方面。
我喜欢WCF服务,因为通过一项服务,我可以提供JSON或SOAP/XML服务,并且支持所有协议(protocol)(ipc,tcp和http)。
使用WCF的遗憾之处在于,如果希望在基于Web的场景中使用它,则其严格的绑定(bind)要求您为HTTP和HTTPS定义终结点。与传统的Web服务不同,无论其安全与否,它都能“正常工作”。