如何将使用 HttpHandler 的简单 class 库迁移到使用 CoreCLR

How do I migrate a simple class library using HttpHandler to using the CoreCLR

我有一个使用 IHttpHandler 公开一些请求处理功能的库。我查看了,但找不到有关如何使用新的 ASP.NET 5 CoreCLR(不是完整的 4.5 框架)重新实现此功能的任何信息。

假设处理程序与下面的一样简单。

public class TestHttpHandler :IHttpHandler
{
    public bool IsReusable
    {
        get { return true; }
    }

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/html";

        context.Response.Write("<html><h1>Hello world!</h1></html>");
    }
}

请注意,我实际上只对使这个库真正可移植感兴趣(System.Web 不适用于我的库需要定位的配置文件 259),所以我想知道子类化或实施以便在 运行 使用 CoreCLR 时处理请求。

在 Asp.Net 5(ASP.NET 核心)中,中间件是 HttpModule/HttpHandler 的替代品。如果你想在 class 库中实现你的中间件,你必须使用 asp.net class 库,它支持像 .net core 这样的多框架目标。

了解中间件:

ASP.NET 5 Middleware, Or Where Has My HttpModule Gone?

Sample Middleware