C# ASP.net处理程序和泛型处理程序之间的差异

C# ASP.net处理程序和泛型处理程序之间的差异,c#,asp.net,.net,C#,Asp.net,.net,在Visual Studio 2010中向ASP.NET web应用程序项目添加新项时,我注意到两个模板: ASP.NET处理程序 通用处理程序 这两者之间有什么区别,何时使用? ASP.Net处理程序是所有ASP.Net页面的默认HTTP处理程序 通用处理程序是所有 没有包含@WebHandler指令的用户界面 有关更多信息,请参见。通用处理程序: 泛型处理程序是一个默认处理程序,它将具有@webhandler指令和.ashx扩展。此泛型处理程序没有UI,但它在向此处理程序发出任何请求时提供

在Visual Studio 2010中向ASP.NET web应用程序项目添加新项时,我注意到两个模板:

  • ASP.NET处理程序
  • 通用处理程序
  • 这两者之间有什么区别,何时使用?

    • ASP.Net处理程序是所有ASP.Net页面的默认HTTP处理程序
    • 通用处理程序是所有 没有包含@WebHandler指令的用户界面

    有关更多信息,请参见。

    通用处理程序:

    泛型处理程序是一个默认处理程序,它将具有@webhandler指令和.ashx扩展。此泛型处理程序没有UI,但它在向此处理程序发出任何请求时提供响应

    HTTP处理程序

    HTTP处理程序是一个进程,它运行并继续处理服务器请求,并根据请求处理代码给出响应。此处理程序没有UI,需要在web.config中针对扩展进行配置。Http处理程序的一个很好的例子是ASP.NET的页面处理程序,它为.aspx页面请求提供服务

    GenericHTTP处理程序之间的主要区别是

    通用处理程序有一个处理程序,该处理程序可以通过扩展名为.ashx的url访问,而http处理程序需要在web.config中针对web.config中的扩展名进行配置。它没有任何扩展名。通用处理程序的典型示例是创建图像的缩略图,以及为.aspx扩展请求提供服务的http处理程序页面处理程序并给予回应


    要了解更多,请参考此

    我认为这是错误的。泛型处理程序是一个特定的端点(以ashx结尾),而不是所有其他请求的回退默认或管道侦听器。我也相信ASP.Net处理程序在这个答案中也是错误的,请参阅下面@coder的答案,这是我对他们的更多理解。如果能更清楚地回答问题的最后一部分,这个答案会得到加强。我自己也不知道答案。我认为ashx在浏览器地址栏中看起来过时了。但是ASP.NET处理程序可以映射到外观更现代的url,但设置起来更复杂。根据我目前的知识,我是这么说的,所以我很高兴被证明是错的。你可以使用通用处理程序进行路由。您可以使用IHttpHandler创建一个类(只是一个cs文件,不需要ashx文件),然后使用以下答案进行干净的路由: