2015-09-28 6 views

ответ

0

Ваш IP-адрес клиента должен быть доступен независимо от его местонахождения на Citrix Server. Вы пробовали

string ip = Request.UserHostAddress; 

или

string ip = HttpContext.Current.Request.UserHostAddress; 

Или ваша машина Citrix позади какой-то прокси-сервер? В этом случае попробуйте:

string ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); 

И если речь идет о IP-адрес физического хоста, XenApp виртуальная машина губит дальше, то он может может быть невозможно узнать его из запроса. Физическая сеть может быть полностью независимой от виртуальной, и запрос клиента никогда не пройдет через нее. Таким образом, вам нужен другой API (XenServer или другая система виртуализации), чтобы соответствовать адресу VM на адрес физического хоста.

+0

... это вернет адрес виртуального клиента. Но мне нужен адрес хоста, на котором работает виртуальный клиент. У меня такая же проблема, когда я запускаю виртуальную машину с мостовой сетью. Для лучшего понимания: некоторые свойства моего сайта должны зависеть от физической машины, а не от виртуального клиента. – Steffen

+0

Вы имеете в виду, что ваш сервер XenApp работает на хосте XenServer, и вам нужно получить этот IP-адрес хоста из запроса, который пришел из опубликованного браузера? –

+0

... да, я думаю, что это хорошо описывает ситуацию. Браузер работает на виртуальном рабочем столе, но мне нужно определить хост. – Steffen