从经典asmx切换到wcf的好处

从经典asmx切换到wcf的好处,wcf,asmx,Wcf,Asmx,最近,我从使用ASMXWeb服务切换到使用wcf服务,过渡即将完成,但我知道我将进行大量的错误检查和测试,以确保一切按预期进行移植 我的问题是-到目前为止,我只能想到使用wcf的一个好的好处,那就是您可以得到一种实现单例web服务的简单方法 除此之外,我必须告诉您,配置WCF应用程序似乎过于复杂,我将永远怀念测试ASMXWeb服务是多么容易 通过ASMX web服务使用WCF还有哪些好处?WCF允许您将服务与物理布局和协议分离。例如,您可以编写一个服务并将其部署为REST或SOAP,或者将来可能

最近,我从使用ASMXWeb服务切换到使用wcf服务,过渡即将完成,但我知道我将进行大量的错误检查和测试,以确保一切按预期进行移植

我的问题是-到目前为止,我只能想到使用wcf的一个好的好处,那就是您可以得到一种实现单例web服务的简单方法

除此之外,我必须告诉您,配置WCF应用程序似乎过于复杂,我将永远怀念测试ASMXWeb服务是多么容易


通过ASMX web服务使用WCF还有哪些好处?

WCF允许您将服务与物理布局和协议分离。例如,您可以编写一个服务并将其部署为REST或SOAP,或者将来可能发生的任何事情。ASMX很棒,但它几乎是硬编码到SOAP的。还有一个想法是,您可以通过更改首选项来插入现有功能,如节流功能,我还没有看到这些功能有多大好处。

  • 更多协议选项;ASMX是IIS,仅HTTP,-WCF提供HTTP、NetTcp、MSMQ、IPC,您可以随意选择
  • 您可以编写一次服务,并在多个端点上公开它
  • 自托管:您可以在控制台应用程序、Winforms应用程序、WPF应用程序中托管WCF服务,或者让IIS/WAS处理该服务,但您不必这样做
  • 更多选项,如可靠会话,更多安全选项
  • 在WCF中,你不必像在ASMX中那样处理太多的“管道问题”——你可以专注于你的业务问题,让配置和属性处理所有你不想处理的问题
仅举几个例子

在Google或Bing上搜索“WCF vs ASMX”,我相信你会找到更多的文章、博客文章和比较

ASMX已经走过了它的时代——WCF是现在和未来。它可以做得更多,因此它需要更多的学习

但是如果你查对了资料来源,比如这两个Dotnet Rocks电视节目(和),我相信你会很快进入WCF,希望不会痛苦


马克

这是一个很好的问题。事实上,它太棒了,以前已经被问过好几次了。投票以重复方式关闭。只需搜索。您实际使用REST吗?到目前为止,还没有对交换协议的要求,这不是错误的值吗?协议交换允许使用SOAP从Internet调用相同的服务,但在内部使用二进制和TCP/IP。实际上,我使用的服务同时充当REST和SOAP。不同平台上对WS-*堆栈的支持程度不同,因此我认为REST(为安全性、可靠性等而硬编码为HTTPS)是更实用的跨平台解决方案。好吧,我想这是有道理的,我认为重点是,不要低估WCF,了解它需要时间,对吗,如果你花很长时间学习这种新的复杂性,你会获得很多好处?@JL:你说得对,但也要补充一点:你不必进入复杂性。当你发现你需要这些功能时,你可以开始使用它们,你会发现大多数功能是相互正交的。marc_为什么你删除了我关于DAL-CRUD问题的答案?这是我愿意接受的:S