Я пытаюсь включить поддержку IDN/IRI для URI-класса, потому что мне нужен метод Uri.IsWellFormedUriString на немецких umlaut-доменах (например, www.bücher.de).Как включить поддержку IDN/IRI для URI-класса по коду?
Я нашел аналогичный вопрос на https://stackoverflow.com/a/6107682/413531 (взято из http://msdn.microsoft.com/en-us/library/system.uri.aspx в разделе «Поддержка идентификаторов ресурсов»), но решение для меня не работает. Мой текущий файл app.config выглядит следующим образом:
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="..." type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
<!-- ... some sections in here ... -->
</sectionGroup>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<!-- ... some sections in here ... -->
</sectionGroup>
</configSections>
<userSettings>
<!-- ... some settings in here ... -->
</userSettings>
<applicationSettings>
<!-- ... some settings in here ... -->
</applicationSettings>
</configuration>
, когда я просто добавить
<uri>
<idn enabled="All" />
<iriParsing enabled="true" />
</uri>
как другой ребенок в конце концов, возникает исключение: ConfigurationErrorsException - { "Das Konfigurationssystem könnte Nicht initialisiert Верден. "}
Так что я прочитал дальше в http://msdn.microsoft.com/en-us/library/system.uri.aspx попадались
Обработка IRI и IDN в классе Uri также может управляться с использованием System.Configuration.IriParsingElement, System.Configuration.IdnElement и System.Configuration.UriSection классов настройки конфигурации. Параметр System.Configuration.IriParsingElement включает или отключает обработку IRI в классе Uri. Параметр System.Configuration.IdnElement включает или отключает обработку IDN в классе Uri. Параметр System.Configuration.IriParsingElement также косвенно управляет IDN. IRI-обработка должна быть разрешена для обработки IDN . Если обработка IRI отключена, тогда обработка IDN будет , установленная по умолчанию, где поведение .NET Framework 2.0 равно , используемое для совместимости, и имена IDN не используются.
Unfortunatly Я не смог найти пример для использования System.Configuration.IriParsingElement, System.Configuration.IdnElement и System.Configuration.UriSection. Я не знаю, как они используются ...
В основном, моя проблема сводится к: я хочу включить поддержку IDN/IRI в классе URI, но я не могу понять, как это сделать. Конфигурационное решение для меня не работает, поэтому я хотел бы попробовать его по коду, но не могу понять, как это сделать. Btw. Я также хотел бы знать, почему конфигурация не работает;)