Самая ранняя проверка запроса перед входом в приложение

#.net #azure #iis #isapi #.net-4.7

#.net #azure #iis #isapi #.net-4.7

Вопрос:

Есть ли способ отвечать на запросы, предпочтительно на основе URL, и возвращать ответ перед запуском самого приложения? Возможно, конфигурация сервера web.config (IIS) или статическая страница, похожая на app_offline.

По сути, это мой сценарий: если я получаю запрос с определенным путем (например, /hello ), я хочу сразу же вернуть ответ и не вводить приложение.

Возможно ли это? Есть ли способ установить статическую страницу, которая всегда обслуживается до запуска .NET (auth, filters, промежуточное программное обеспечение и т. Д.), Например, app_offline?

Я попытался просмотреть фильтры ISAPI, но это кажется слишком сложным для того, что я хочу сделать, особенно учитывая, что наши приложения развернуты в Azure.

Есть ли какая-либо функция Azure, которую мы можем использовать?

Комментарии:

1. вы можете использовать статическую маршрутизацию в iis.

2. learn.microsoft.com/en-us/iis/extensions/url-rewrite-module/…

3. Перезапись URL-адреса — один из вариантов, и вы также можете написать собственное расширение IIS на C #, learn.microsoft.com/en-us/iis/develop/runtime-extensibility /…

Ответ №1:

Я предлагаю вам попробовать использовать httphandler для достижения ваших требований. Вы можете создать пользовательский http-обработчик, который будет запущен перед веб-формой.

Подробнее о том, как создать пользовательский 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>
  

Результат:

введите описание изображения здесь

Комментарии:

1. Спасибо, я все же выбрал правила перезаписи. Не уверен, что запускается первым, обработчики или перезапись, но перезапись определенно запускалась перед приложением, поэтому этого достаточно.