Я пытаюсь понять, как IIS знает, как запустить мое веб-приложение ASP.Net. Насколько я понимаю, при создании веб-приложения мы создаем Web.Config, который определяет, как IIS будет запускать его процесс
Итак, у нас есть веб-конфигурация
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="LogRequests" type="BDBPayroll.Apps.API.Web.Shared.HttpModules.LogRequestsHttpModule, BDBPayroll.Apps.API.Web.Shared" />
<add name="MiniProfiler" type="BDBPayroll.Apps.API.Web.Shared.HttpModules.MiniProfilerHttpModule, BDBPayroll.Apps.API.Web.Shared" />
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
и глобальный Asax:
public class WebApiApplication : WebApiHttpApplication<WebModule>
{
protected override void Configure(HttpConfiguration config)
{
config.Filters.Add(new Filters.ContextResolverFilter());
config.Filters.Add(new ValidateModelAttribute());
config.Filters.Add(new PaginationFilter());
GlobalContext<JsonFormatterRule>.Instance.SetDefaultJsonFormatter(config);
}
//...
}
Поскольку IIS может запускать несколько приложений, например php, .net и т. Д. Как IIS знает извеб-конфигурация Для запуска Global Asax.
Я предполагаю, что он ищет тип приложения в веб-конфигурации, а затем ищет WebApiHttpApplication. У кого-нибудь есть какая-либо информация об этом процессе?