Как сбросить значения Request.ServerVariables ("SERVER_NAME") в ASP. NET? - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть электронное письмо для сброса пароля, которое отправляется пользователям, использующим Request.ServerVariables("SERVER_NAME") для создания URL-адреса для страницы сброса пароля. Проблема в том, что URL-адрес веб-приложения был недавно изменен, а старое имя все еще отражается в серверной переменной SERVER_NAME. Как я могу сбросить это, чтобы использовать новое, текущее имя сервера? Я бы не стал перезапускать веб-приложение в IIS, если мне это не нужно. (Я на самом деле не прошел через код; если я правильно понимаю, он будет работать нормально локально, потому что IIS обновляется намного чаще на моем P C, чем на рабочем веб-сервере.) Или я неправильно понимаю, как работают переменные сервера?

1 Ответ

1 голос
/ 02 апреля 2020

По сути, из моего прочтения, вашим SERVER_NAME может быть имя самого сервера windows, а не имя DNS, которое остальной мир использует для доступа к этому серверу. HTTP_HOST может быть лучше, потому что это содержимое заголовка http хоста, полученное из того, что пользователь ввел в свою адресную строку, а затем из того, что браузер пользователя прошел, чтобы получить доступ к сайту.

Это особенно полезно для многодомных сайтов, под которыми я подразумеваю один набор кода, например два сайта с разным брендированием / стилем, разными привязками в IIS (разные имена DNS), но с одним и тем же базовым кодом, повторение пользователю того, что они ввели в браузер, означает, что они всегда думают, что взаимодействуют с одним и тем же сайтом

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