ashx, asmx, axd + cs(handler), webmethod(in aspx)和asp.net框架4.5中的异步方法之间有什么区别?
在ASP.NET Framework 4.5中,有几种不同的文件类型用于处理HTTP请求和响应,如.ashx
、.asmx
、.axd
、cs(handler)
和webmethod(in aspx)
,以及异步方法。这些文件类型有不同的用途和功能。
.ashx
文件用于处理Http请求和修改Http响应,可以根据需要进行自定义。可以用它来提供PDF文件、进行服务器端处理并进行重定向等操作。
.svc
文件是微软新的Windows Communication Foundation(WCF)的一部分,用于面向服务的体系结构(SOA)开发。WCF支持SOAP、REST等多种协议和功能。
.asmx
文件是一种旧的承载SOAP服务的方式。通常会有asmx.cs
(或.vb)文件,其中包含服务背后的实际方法。这是一个遗留技术,在新的开发中推荐使用WCF。
[WebMethod]
属性用于标记在asmx
中承载的SOAP服务中的方法。
.axd
扩展名用于生成的Web服务,用于处理许多不同的任务。例如,MVC3使用axd
Web服务来提供特定于微软的JavaScript。通常情况下,不会创建axd
文件。
以上这些文件类型是用于解决不同问题的不同工具。根据您要完成的任务,选择使用哪种文件类型取决于具体情况。如果您需要更低级别的Web应用程序行为处理,可以使用ashx
文件。如果需要提供更标准化的服务,则建议使用WCF和svc
文件。
需要注意的是,.asmx
不再用于承载SOAP服务,它是一种遗留技术,不应该在新的开发中使用。它已被.svc
文件和WCF取代。
未来的趋势是Web API。