gpt4 book ai didi

asp.net - 有什么方法可以在.NET 中以编程方式添加 HttpHandler?

转载 作者:行者123 更新时间:2023-12-03 11:53:18 24 4
gpt4 key购买 nike

我一直在研究这一点,但没有找到答案——有没有办法以编程方式将 HttpHandler 添加到 ASP.NET 网站而不添加到 web.config?

最佳答案

通过添加一个 HttpHandler 我假设你的意思是配置文件

<system.web>
<httpHandlers>...</httpHandler>
</system.web>

有一种方法可以自动控制它,通过添加 IHttpHandler直接在请求期间。所以在 PostMapRequestHandler in the Application Lifecycle ,您将在自己的自定义 IHttpModule 中执行以下操作:
private void context_PostMapRequestHandler(object sender, EventArgs e)
{
HttpContext context = ((HttpApplication)sender).Context;
IHttpHandler myHandler = new MyHandler();
context.Handler = myHandler;
}

这将自动为该请求设置处理程序。显然,您可能希望将其包装在一些逻辑中以检查诸如动词、请求 url 等内容。但这就是它的完成方式。这也是许多流行的 URL 重写器的工作方式,例如:

http://urlrewriter.codeplex.com

不幸的是,使用 pre built configuration handler that the web.confi g 确实,被隐藏起来并且似乎无法访问。它基于一个名为 IHttpHandlerFactory 的接口(interface)。 .

更新 IHttpHandlerFactory可以像任何其他 IHttpHandler 一样使用,只是它被用作启动点而不是处理点。见这篇文章。

http://www.uberasp.net/getarticle.aspx?id=49

关于asp.net - 有什么方法可以在.NET 中以编程方式添加 HttpHandler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1888016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com