Могу ли я получить информацию о виртуальном каталоге IIS7 из Application_Start? - PullRequest
0 голосов
/ 17 апреля 2010

У меня есть 3 виртуальных каталога IIS7, которые указывают на один и тот же физический каталог. Каждый из них имеет уникальный заголовок узла, связанный с ним, и каждый работает в своем собственном пуле приложений. В конечном итоге, 3 экземпляра одного и того же приложения ASP.NET.

В обработчике события Application_Start файла global.asax я хотел бы определить, какой экземпляр приложения запущен (для условного выполнения некоторого кода). Поскольку объект Request недоступен, я не могу запросить текущий URL, поэтому я хотел бы запросить информацию о привязке текущего виртуального каталога?

Поскольку привязка заголовка узла уникальна для каждого сайта, это позволило бы мне определить, какой экземпляр приложения запускается. Кто-нибудь знает, как это сделать, или есть лучшее предложение?

1 Ответ

1 голос
/ 17 апреля 2010

Когда выполняется запрос и непосредственно перед созданием экземпляра HttpApplication, ASP.NET инициализирует основные объекты, такие как HttpContext, HttpRequest и HttpResponse, что означает, что они будут существовать, когда вы доберетесь до Application_Start событие в Global.asax. Таким образом, в Application_Start вы можете получить запрашивающий URL-адрес следующим образом:

var url = this.Context.Request.Url;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...