Svc和asmx

Anonim

.svc vs..asmx

我们真的需要和.asmx说再见吗?

每个Web开发人员都熟悉.asmx,而有些人只是熟悉.svc。这些技术概念由于其动态性质而对开发人员的工作线程至关重要。问题是,.svc和.asmx之间真的有很大区别吗?人们应该从.asmx到.svc进行大转变吗?

.ASMX定义由Active Server Page(.ASP文件)调用的Web服务,一旦有对服务的请求,ASP.NET就会自动累积。这些可以在因特网上以及从本地网络上获得。要将编程语言设置为Visual Basic,C#或Jscript,.asmx文件从ASP.NET指令WebService开始,然后使用带有.NET框架的基于Windows的Web服务器的语言参数继续。

另一方面,SVC或.svc是Microsoft Windows Communication Foundation使用的计算机文件扩展名,用于表示由Internet Information Services托管的服务。 Windows Communication Foundation(或WCF)是.NET框架中的应用程序编程接口(API),用于构建链接的面向服务的应用程序。

那两者有什么区别?.SVC可以在类固醇上被称为.asmx, 因为它可以完成.asmx可以做的所有事情,但具有更多功能。当Web开发人员谈论.asmx时,他们知道这不是太复杂 - 它可以很容易地配置。缺点是,它只能从HTTP调用,而.svc与HTTP,MSMQ一起使用,并且可以通过Winforms应用程序等不同平台托管。

正如我们所看到的,.svc可以取代.asmx的所有荣耀。

但是,.svc可能需要更多培训;需要额外的努力来理解.svc的配置。这就是为什么许多开发人员仍然倾向于使用.asmx而不是.svc的原因。.ASMX简单但功能不强;.SVC是.Net平台的未来。

.ASMX和.SVC既易于学习又具有代码,并且具有对服务和数据类的补充的并行属性。但相似之处到此为止。两者之间的更多关键差异如下:.asmx比.svc更​​容易配置,因为.svc添加了许多配置键,其中包含可能不完全有用的各种选项。.ASMX易于部署,因为.svc及其复杂的配置和选项。与.svc不同,ASMX不支持WS- *标准;使用.asmx与WS- *一起工作将是一个非常大的麻烦。.SVC还支持二进制数据格式和REST。此外,.SVC可以跨服务/客户端捕获消息。有一个.svc创建代码,可以运行无限制的过程来拦截消息,并在所有服务操作中运行它们。

.ASMX无法做到这一点,这是不幸的,因为它在某些复杂的情况下是可行的,例如进行自定义身份验证,授权,日志记录和路由技术。但是,如果您仍在使用SOAP基本配置文件,请始终使用.asmx以简化操作,然后在需要其功能之一时切换到.svc。不过,要走的路是完全切换到.svc。

.ASMX即将灭绝,而.svc是网络发展的现在和未来。.SVC可以比.asmx的所有组合完成更多的工作,这就是为什么迫切需要学习.svc。

摘要:

1..asmx定义了由Active Server Page(.ASP文件)调用的Web服务,一旦有对服务的请求,它就会由ASP.NET自动累积。

2..SVC或.svc是Microsoft Windows Communication Foundation使用的计算机文件扩展名,用于对Internet Information Services托管的服务进行符号化。

3..SVC可以在类固醇上被称为.asmx。

4..SVC可以取代.asmx的所有荣耀。