2012-01-12 2 views
6

Я использую Directory.Exists(uncPath) с UNC-контуром, теперь он терпит неудачу, если я использую стандартный IPv6-адрес. Есть ли доступный код, который может заботиться обо всех форматах unc - ipv4/ipv6/machiname.C# Directory.Exists ipv6 version

В настоящее время я конвертирую свой адрес ipv6 в нечто вроде 2001-0-234-c1ab-0-a0-aabc-3e.ipv6-literal.net, и он работает, но сам Ipv6 может быть представлен в нескольких форматах. Мне нужно что-то, что будет обрабатывать все форматы.

ответ

5

ipv6-literal.net нотация - единственный способ использовать IPv6 UNC для окон.

Вы должны взять IPv6 litteral & заменить : с -, % с s и добавить ipv6-literal.net.

+0

Я где-то читал, что '% => s' необходимо, только если вы используете локальный адрес IPv6. Глобальные одноадресные и уникальные локальные адреса не требуют идентификаторов интерфейса. Что это за фигня? Означает ли это, что есть некоторые особые случаи? –

+0

Я не знаю, действителен ли идентификатор области видимости в UNC –

+0

Дополнительная информация: http://en.wikipedia.org/wiki/IPv6_address#Literal_IPv6_addresses_in_UNC_path_names – tomfanning