Мне нужно узнать базовый URI приложения веб-API ASP.NET, размещенный в IIS 7.5+, сразу после запуска приложения, но до того, как любой клиентский запрос, возможно, достиг этого. Сценарий, в котором я нуждаюсь, следующий: периодическая проверка выполняется таймером, который выполняется независимо от пользовательских запросов и который запускается вместе с приложением (тот же процесс); если эта проверка проходит определенные условия, некоторые зарегистрированные пользователи получат электронное письмо с гиперссылкой на мое веб-приложение. Теперь я не хочу жестко указывать эту ссылку в любом месте, а скорее получать ее динамически из самого веб-приложения. Было бы просто понять это из контекста клиентского запроса, а затем кэшировать его в памяти, но, как вы можете себе представить, таймер может исчезнуть до того, как какой-либо запрос достигнет сервера.Получение URI веб-приложения во время запуска
Как я мог правильно определить базовый URI приложения? Я думал, что наиболее подходящим местом будет файл Global.asax.cs
во время запуска веб-приложения, но я не мог найти ничего полезного.
Большое спасибо за разъяснение! Я боялся, что это может быть так. Похоже, что в моем сценарии мне пришлось бы вернуться к использованию жестко заданного базового URL-адреса в web.config, который должен быть изменен в соответствии с местом размещения приложения. –