Формат IP-адреса клиента в службе WCF

Я использую последнюю версию WCF. Я получаю такой IP-адрес клиента:

        OperationContext context = OperationContext.Current;
        MessageProperties prop = context.IncomingMessageProperties;
        RemoteEndpointMessageProperty endpoint = prop[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
        string ip = endpoint.Address;

Я получаю следующий IP:

::1

Что это значит, может кто-нибудь объяснить мне этот формат?

Это из-за привязки? Я использую basicHttpBinding


person chris    schedule 09.09.2016    source источник


Ответы (1)


Это адрес обратной связи IPv6

https://en.wikipedia.org/wiki/Localhost

т.е. клиент находится на том же компьютере и подключается к службе с помощью IPv6.

person Scott Perham    schedule 09.09.2016
comment
Спасибо, в этом есть смысл. Можно ли получить IPv4 клиента? - person chris; 09.09.2016
comment
Как оказалось, это очень близко к stackoverflow.com/ questions / 2028879 / ipv4-remote-address-in-wcf, в котором есть несколько предложений - person Scott Perham; 09.09.2016
comment
Я видел это. Ответ пришел из 2010 года, и в основном он гласит: Мне не известны какие-либо настройки WCF, чтобы обеспечить это - вам придется покопаться в сетевом стеке и посмотреть, есть ли способ заставить его использовать вместо этого адреса IPv4. IPv6. Поэтому мне было интересно, есть ли способ нормализовать IP-адрес клиента (поэтому я буду регистрировать IP только в одном формате) - person chris; 09.09.2016
comment
Это в основном о том, какие сетевые протоколы вы поддерживаете. не очень полезным способом, я не знаю, как бы вы отключили IPv6 в службе, поскольку на самом деле он обрабатывается на гораздо более низком уровне в ОС. Вы могли бы попытаться найти IPv4-адрес? ... Я только что нашел это: msdn.microsoft.com/en-us/library/ - person Scott Perham; 09.09.2016
comment
Спасибо я разберусь - person chris; 09.09.2016