Узнать IP клиента из WebService
От: Interceptor Украина  
Дата: 15.09.09 09:34
Оценка:
Добрый день.

Подскажите пожалуйста, есть ли возможность узнать ip адрес компьютера (внешний), с которого был произведен вызов веб-сервиса (webservice и клиентское приложение — .net приложения).
Подойдет любой метод, как располагающийся в клиентском, так и в серверном (webservice) приложениях (лучше серверный вариант).

Спасибо.
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re: Узнать IP клиента из WebService
От: Ellin Россия www.rsdn.ru
Дата: 15.09.09 10:22
Оценка: :)))
Здравствуйте, Interceptor, Вы писали:

I>Добрый день.


I>Подскажите пожалуйста, есть ли возможность узнать ip адрес компьютера (внешний), с которого был произведен вызов веб-сервиса (webservice и клиентское приложение — .net приложения).

I>Подойдет любой метод, как располагающийся в клиентском, так и в серверном (webservice) приложениях (лучше серверный вариант).

I>Спасибо.

ИМХО надо с клиента на сервер передавать, как иначе не знаю.
Re[2]: Узнать IP клиента из WebService
От: Interceptor Украина  
Дата: 15.09.09 10:45
Оценка:
Здравствуйте, Ellin, Вы писали:

E>ИМХО надо с клиента на сервер передавать, как иначе не знаю.

А каким образом на клиенте можно определить свой ВНЕШНИЙ IP адрес? Есть бесплатные веб-сервисы, которые эти данные возвращают? Либо, возможно, есть другие методы?
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re: Узнать IP клиента из WebService
От: HowardLovekraft  
Дата: 15.09.09 10:47
Оценка:
Здравствуйте, Interceptor, Вы писали:

I>Подскажите пожалуйста, есть ли возможность узнать ip адрес компьютера (внешний)

Вы учитываете, что у нескольких клиентов может быть одинаковый внешний IP-адрес?
Re: Узнать IP клиента из WebService
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.09.09 10:49
Оценка: 4 (1)
Здравствуйте, Interceptor, Вы писали:
I>Подскажите пожалуйста, есть ли возможность узнать ip адрес компьютера (внешний), с которого был произведен вызов веб-сервиса (webservice и клиентское приложение — .net приложения).
I>Подойдет любой метод, как располагающийся в клиентском, так и в серверном (webservice) приложениях (лучше серверный вариант).

HttpContext.Current.Request.UserHostAddress — не оно?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: Узнать IP клиента из WebService
От: Ellin Россия www.rsdn.ru
Дата: 15.09.09 11:03
Оценка: 4 (1)
Здравствуйте, Interceptor, Вы писали:

I>Здравствуйте, Ellin, Вы писали:


E>>ИМХО надо с клиента на сервер передавать, как иначе не знаю.

I>А каким образом на клиенте можно определить свой ВНЕШНИЙ IP адрес? Есть бесплатные веб-сервисы, которые эти данные возвращают? Либо, возможно, есть другие методы?
Мда... вот так, оказывается можно:

this.Context.Request.UserHostAddress;
Re: Узнать IP клиента из WebService
От: algol Россия about:blank
Дата: 15.09.09 11:10
Оценка: 4 (1)
Здравствуйте, Interceptor, Вы писали:

I>Подскажите пожалуйста, есть ли возможность узнать ip адрес компьютера (внешний), с которого был произведен вызов веб-сервиса (webservice и клиентское приложение — .net приложения).

I>Подойдет любой метод, как располагающийся в клиентском, так и в серверном (webservice) приложениях (лучше серверный вариант).

Если вопрос про WCF сервис, то в ASP.NET compatibility mode доступен HTTPContext.Current. Тогда IP можно получить из HTTPContext.Current.Request["REMOTE_ADDR"].
Re[2]: Узнать IP клиента из WebService
От: Interceptor Украина  
Дата: 15.09.09 11:11
Оценка:
Здравствуйте, HowardLovekraft, Вы писали:

HL>Вы учитываете, что у нескольких клиентов может быть одинаковый внешний IP-адрес?

Естественно
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re[2]: Узнать IP клиента из WebService
От: Interceptor Украина  
Дата: 15.09.09 11:11
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>HttpContext.Current.Request.UserHostAddress — не оно?

Спасибо, работает!
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>
Re: Узнать IP клиента из WebService
От: AGovorovsky  
Дата: 15.09.09 14:29
Оценка: 6 (1)
Здравствуйте, Interceptor, Вы писали:

I>Добрый день.


I>Подскажите пожалуйста, есть ли возможность узнать ip адрес компьютера (внешний), с которого был произведен вызов веб-сервиса (webservice и клиентское приложение — .net приложения).

I>Подойдет любой метод, как располагающийся в клиентском, так и в серверном (webservice) приложениях (лучше серверный вариант).

I>Спасибо.



OperationContext context = OperationContext.Current;
MessageProperties messageProperties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpointProperty = messageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
//endpointProperty.Address
//endpointProperty.Port
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.