2013-02-13 61 views

回答

12

.ashx文件用于处理HttpRequests和修改HttpResponses;你几乎可以让他们做任何你想做的事情。我已经看到它们用于诸如提供PDF和进行服务器端处理然后重定向等事情。 See here for more info.

.svc文件(没有在你的问题中提到)是MS's new Windows Communication Foundation一部分是SOA发展。 WCF支持SOAP,REST和许多其他很酷的东西。

.asmx文件是托管SOAP服务的较旧手段。它们通常伴随有包含服务背后实际方法的asmx.cs文件(或.vb)。 See here for more info.这是一项传统技术和I would recommend using WCF instead in new development

[WebMethod]属性用于表示由asmx托管的SOAP服务中浮现的方法。 See here for more info.

.axd扩展名被生成的Web服务用于许多不同的事情。 (例如,MVC3使用axd网络服务来提供MS特定的javascript)我不认为你会创建一个axd文件,但我可能是错的......至少我从来没有。 See here for more info.

哪一个是最好的选择?

它们是用于解决不同问题的不同工具。何时以及为什么你应该使用每一个取决于你想要完成的工作。使用ashx文件可以实现较低级别的Web应用程序行为处理。如果你想提供更加标准化的服务,我会推荐使用WCF和svc文件。请向我们提供更多关于您正在执行的任务的信息,以便我们帮您挑选一个。

+0

请注意.asmx不再是“用于托管SOAP服务”。它们是传统技术,不应该用于新开发。它们已被替换为.svc文件和WCF。 – 2013-02-14 00:12:09

+1

未来是Web API! – 2013-02-25 18:43:15

相关问题