7

我需要知道这些文件的技术差异。哪一个是最好的选择?我们何时以及为什么要使用它?我需要人工回答,而不是 MSDN 链接。

4

1 回答 1

16

.ashx文件用于处理 HttpRequests 和修改 HttpResponses;你几乎可以让他们为所欲为。我已经看到它们用于提供 PDF 和进行服务器端处理然后重定向等事情。请参阅此处了解更多信息。

.svc文件(您的问题中未提及)是MS 新的 Windows Communication Foundation 的一部分,该基础用于SOA开发。WCF 支持 SOAP、REST 和许多其他很酷的东西。

.asmx文件是托管 SOAP 服务的较旧方式。它们通常伴随着asmx.cs包含服务背后的实际方法的文件(或 .vb)。请参阅此处了解更多信息。这是一项遗留技术,我建议在新开发中使用 WCF

[WebMethod]属性用于表示由asmx. 请参阅此处了解更多信息。

.axd扩展被生成的 Web 服务用于许多不同的事情。(例如 MVC3 使用axdWeb 服务来为 MS 特定的 javascript 提供服务)我不认为你会创建一个axd文件,但我可能是错的......至少我从来没有。请参阅此处了解更多信息。

哪一个是最好的选择?

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

于 2013-02-13T22:53:58.457 回答