2015-05-13 4 views
0

У меня есть веб-приложение (asp.net, C#), работающее более двух месяцев для внутренних сотрудников моей компании. Приложение было доступно по прямому IP-адресу, например, 121.XXX.XX.200.HttpContext.Current.Request.Url.Authority получает кеширование IIS

В моей базе кода я использовал «HttpContext.Current.Request.Url.Authority», чтобы получить этот конкретный IP-адрес. Это было хорошо и позавчера.

Однако вчера код «HttpContext.Current.Request.Url.Authority» начал предоставлять мне локальный IP-адрес сервера, например «10.X.XXX.20», а не живой.

Теперь я смог воспроизвести ошибку. Всякий раз, когда я просматриваю приложение с использованием локального IP-адреса, IIS, похоже, кэширует доменное имя. Теперь, когда я просматриваю одно и то же приложение, используя прямой IP-адрес с другого компьютера. Он по-прежнему дает мне локальный IP-адрес.

Что может быть для этого решением?

ответ

0

Попробуйте использовать HttpContext.Current.Request.Url.Host вместо HttpContext.Current.Request.Url.Authority.

До тех пор, пока я помню, Authority получает доменное имя хоста DNS, которое иногда может вызывать проблемы.