index.html опережает Global.asax.cs или WebApiConfig.cs - PullRequest
0 голосов
/ 28 апреля 2018

Я отлаживал, почему атрибутная маршрутизация не действует, и обнаружил странное поведение проекта WEB API с использованием VS 2017, то есть

любая веб-страница будет запускаться впереди Global.asax.cs, если она «Установить как старт» Страница».

Вот как:

  1. VS 2017, Новый проект, C #, веб, ASP.NET Web app.
  2. Пустой шаблон, установите флажок WebAPI.
  3. теперь у него есть Global.asax, WebApiConfig.cs внутри App_Start, поместите точку останова в любой файл.
  4. Добавьте файл index.html в проект, добавьте к нему кнопку и установите его в качестве начальной страницы.
  5. F5, index.html запускается, нажимает на кнопку, все работает, как ожидалось, но никогда не достигает точки останова в WebApiConfig.cs.

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <input type="button" value="Go" onclick="alert('hello');" />
</body>
</html>

Этот пример proj на сайте MS всегда достигает точки останова: ЕСЛИ стартовая страница не установлена, ТО всегда достигать ее раньше всего, ИЛИ сразу после index.html. По сравнению с файлом .csproj, только diff использует .NET Framework 4.6 против 4.5.2. Тем не менее, использованный 4.6 для создания нового проекта, как указано выше, результат тот же.

1 Ответ

0 голосов
/ 09 мая 2018

Хотя index.html является частью проекта, его запуск не вызовет App_Start, как я предполагал, App_Start сработает только при запуске .aspx на стороне сервера или при попадании этого проекта в запрос Api.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...