У меня есть приложение ASP .Net, работающее на IIS7.Я использую текущий URL, под которым работает сайт, чтобы установить некоторые статические свойства для класса в моем приложении.Чтобы сделать это, я получаю доменное имя, используя это (например, статический конструктор класса):
var host = HttpContext.Current.Request.Url.Host;
И оно отлично работает на моем компьютере разработчика (Windows XP / Cassini).Однако при развертывании в IIS7 я получаю исключение: «Запрос не доступен в этом контексте».
Я предполагаю, что это потому, что я использую этот код в статическом конструкторе объекта, который выполняется в IIS до того, как поступят какие-либо запросы;и Кассини не вызывает статический конструктор, пока не произойдет запрос.Мне изначально не понравилась идея извлечения доменного имени из запроса по этой самой причине, но это было единственное место, где я его нашел =)
Итак, кто-нибудь знает о другом месте, где яможно получить имя домена хоста?Я предполагаю, что ASP .Net должен знать об этом на каком-то уровне, независимом от запросов Http, я просто не знаю, как получить к нему доступ.