C# 与继续使用.NET远程处理相比,将应用程序迁移到WCF有什么好处?
好的,我已经问了几个关于.NET远程处理的StackOverflow问题,总有至少一个人需要插话,“.NET远程处理已被弃用,请改用WCF。”我知道它已被弃用,并且不能保证将来会支持新版本的.NET Framework。但是,我们想转向WCF还有什么其他好的理由呢?我看到了一些关于.NET远程处理的小麻烦,但是,这还不足以改变那些坚信“如果它没有坏,就不要修复它”的人的想法。目前,态度改变的唯一原因是,如果.NET远程处理从.NET Framework的未来版本中删除,那么谁知道这需要多长时间呢 有没有人能理解为什么WCF比.NET远程处理“更好”,或者为什么远程处理不如WCF?每种技术的优缺点是什么?您是否可以使用WCF而不是远程处理来做其他事情 我的意思是,如果我能说服他们让我们将软件迁移到WCF,只允许在客户端设置一个可配置的TCP通道超时,那就太好了(这似乎已经中断了一段时间,无论我尝试了什么步骤或故障排除),当这种情况发生时,它会让我们的软件看起来像是绝对的垃圾C# 与继续使用.NET远程处理相比,将应用程序迁移到WCF有什么好处?,c#,wcf,c#-4.0,remoting,.net-remoting,C#,Wcf,C# 4.0,Remoting,.net Remoting,好的,我已经问了几个关于.NET远程处理的StackOverflow问题,总有至少一个人需要插话,“.NET远程处理已被弃用,请改用WCF。”我知道它已被弃用,并且不能保证将来会支持新版本的.NET Framework。但是,我们想转向WCF还有什么其他好的理由呢?我看到了一些关于.NET远程处理的小麻烦,但是,这还不足以改变那些坚信“如果它没有坏,就不要修复它”的人的想法。目前,态度改变的唯一原因是,如果.NET远程处理从.NET Framework的未来版本中删除,那么谁知道这需要多长时间呢
提前感谢您帮助阐明这一点。放弃远程处理有很多理由;其中一些可能包括:
- 缺乏运输灵活性
- 版本控制需求是一个巨大的难题
- 依赖于平台(没有明显的跨平台使用机会)
- 没有机会从不断增长的移动市场使用
- 缺乏未来发展:无论你想增加什么功能,都不会
然而,我不同意WCF是自动替代品;WCF本身是一个非常通用的工具,但可能非常复杂,并且有自己的限制。我自己没有使用过它,但我看到了很多对它的赞扬,基本上是用户将它描述为“WCF做得对”,即WCF的好部分,没有痛点。然而,还有很多其他选择。不过,服务堆栈思想的一个优点是,它的迭代速度非常快,如果它缺少您想要的东西,您可以对其进行更改。。NET Remoting现在是一项遗留技术,引用自MSDN: 本主题特定于保留以与现有应用程序向后兼容的遗留技术,不建议用于新开发。现在应该使用Windows通信基金会(WCF)开发分布式应用程序。 下面是2007年完成的WCF和.NET远程处理之间的性能比较: 总而言之,WCF比ASP.NET Web快25%-50% 服务,大约比.NET远程处理快25%
因此,我想速度是放弃.NET远程处理的一个很好的理由。我对WCF在日志记录和安全性方面的表现给予了评价 日志记录 WCF有一个集成的日志记录机制,可以帮助您记录在维护过程中成为一个福音的跟踪。在其他技术中,开发人员必须做一些工作来实现这一点,但在WCF中,我们所要做的就是通过更改配置文件来启用跟踪,WCF开始为您提供跟踪 安全性 从实现者的角度来看,WCF中的安全机制非常简单,而且是现成的,但是非常健壮和高度安全。最好的部分是,对于高使用率和推荐的绑定,WCF提供了可信任的默认安全性。WSHTTPbinding上的消息安全性就是这些行中的一个示例 默认情况下,.NET Framework远程处理不进行身份验证或加密。因此,建议您在与客户端或服务器进行远程交互之前,采取所有必要的步骤来确定它们的身份
此外,WCF是在microsoft平台下开发面向服务的应用程序的框架,混合了消息和rpc风格的编程。这不在远程处理中。远程处理基本上只面向rpc。虽然给出的原因可能是驱动方面的考虑因素,但还有其他不重要的原因:
- 运输独立性
- IDE工具
- 易于测试
- 维修性