首页 > 解决方案 > 在进入申请之前对请求进行最早的检查

问题描述

在点击应用程序本身之前,有没有办法响应请求,最好是基于 URL,并返回响应?可能是 web.config 服务器 (IIS) 配置或类似于 app_offline 的静态页面。

本质上,这是我的场景:如果我收到带有特定路径的请求(即 /hello),我想立即返回响应而不进入应用程序。

这可能吗?有没有办法设置在.NET 启动之前始终提供的静态页面(身份验证、过滤器、中间件等)有点像 app_offline?

我尝试查看 ISAPI 过滤器,但我想做的事情似乎过于复杂,特别是考虑到我们的应用程序已部署到 Azure。

是否有一些我们可以利用的 Azure 功能?

标签: .netazureiisisapi.net-4.7

解决方案


我建议您可以尝试使用 httphandler 来满足您的要求。您可以创建一个自定义 http 处理程序,该处理程序将在 Web 表单之前触发。

有关如何创建自定义 httphanlder 的详细信息,您可以参考以下步骤:

1.创建自定义类:

public class CustomHanlder : IHttpHandler
{
    public bool IsReusable => true;

    public void ProcessRequest(HttpContext context)
    {
        context.Response.Write("CustomHttpHandler");
       
    }
}

2.将以下设置添加到web.config

<system.webServer>
    <handlers>
        <add name="CustomHandler" path="hello" type="[YouapplicationNameSpace].CustomHanlder" verb="*"/>
    </handlers>
</system.webServer>

结果:

在此处输入图像描述


推荐阅读