如何通过 url 或其他方式从 WebApi 项目调用 Handler.ashx?
How to call Handler.ashx from WebApi project via url or something?
我有简单的 OOTB 处理程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace XXX.XXX.WebApi.Controllers
{
/// <summary>
/// Summary description for Handler1
/// </summary>
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
我的文件结构是
如何通过url调用这个hello world示例?我浏览了很多教程,但总是有问题...比如 App_Code 文件夹等
我试过(或用过)什么
https://msdn.microsoft.com/en-us/library/ms228090.aspx
https://www.codeproject.com/articles/538589/theplustruthplusaboutplushttphandlersplusandpluswe
还有许多其他事情在我的案例中都没有成功。有什么想法吗?
您必须映射处理程序,但是,它不是 mvc 意义上的控制器,因此我将它放在外部,放置在您的应用程序的特殊文件类型处理程序的位置。
要连接它,您需要通过配置让 ASP.NET 知道处理程序。
<httpHandlers>
<add verb="*" path="*.myext" type="Handler1"/>
</httpHandlers>
警告 - 通过这样做,您的应用程序将同时利用 MVC 处理管道和传统的 ASP.NET 管道。
您不直接调用您的处理程序。您已指定您有兴趣检查具有特定扩展名 and/or 路径的请求,这通常会被忽略。要测试处理程序,只需将 http 请求发送到端点,该端点将解析为您指定的处理程序要处理的内容。
我有简单的 OOTB 处理程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace XXX.XXX.WebApi.Controllers
{
/// <summary>
/// Summary description for Handler1
/// </summary>
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
我的文件结构是
如何通过url调用这个hello world示例?我浏览了很多教程,但总是有问题...比如 App_Code 文件夹等
我试过(或用过)什么
https://msdn.microsoft.com/en-us/library/ms228090.aspx
https://www.codeproject.com/articles/538589/theplustruthplusaboutplushttphandlersplusandpluswe
还有许多其他事情在我的案例中都没有成功。有什么想法吗?
您必须映射处理程序,但是,它不是 mvc 意义上的控制器,因此我将它放在外部,放置在您的应用程序的特殊文件类型处理程序的位置。
要连接它,您需要通过配置让 ASP.NET 知道处理程序。
<httpHandlers>
<add verb="*" path="*.myext" type="Handler1"/>
</httpHandlers>
警告 - 通过这样做,您的应用程序将同时利用 MVC 处理管道和传统的 ASP.NET 管道。
您不直接调用您的处理程序。您已指定您有兴趣检查具有特定扩展名 and/or 路径的请求,这通常会被忽略。要测试处理程序,只需将 http 请求发送到端点,该端点将解析为您指定的处理程序要处理的内容。