Web.config: экранирование кавычек для пароля в строке подключения провайдера внутри строки подключения не работает - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть следующая строка подключения

    <add name="EntitiesContainer"         
    connectionString="metadata=...;provider=System.Data.SqlClient;
    provider connection string=&quot;Data Source=server;Initial Catalog=dbXYZ;User 
    ID=userxyz;Password=<password>;MultipleActiveResultSets=True&quot;"         
    providerName="System.Data.EntityClient"/>

Моя проблема в том, что я не могу использовать кавычки внутри пароля строки подключения провайдера. Я попытался скрыть пароль, основываясь на нескольких сообщениях о переполнении стека и блоге Младена Прайдича: https://weblogs.sqlteam.com/mladenp/2008/10/21/different-ways-how-to-escape-an-xml-string-in-c/

Я попытался скрыть пароль, такой как 'hello "World" с "with" e, с System.Security. SecurityElement.Escape, с XMLWriter, System.Security.SecurityElement.Escape и с System.Web.HttpUtility.HtmlEncode ().

Я предполагаю, что проблема заключается в том, что у меня есть инкапсулированная строка (поставщикСтрока подключения) внутри строки подключения.

Есть идеи?

Большое спасибо!

1 Ответ

0 голосов
/ 07 ноября 2019

Если вы хотите узнать, как будет закодировано значение в web.config:

  • Перейдите в Администрирование => Диспетчер IIS

  • Откройте сайт и любую папку веб-приложений с web.config или без (будет создан)

  • Перейдите в представление функций справа: откройте настройки приложения или строки подключения. Просмотрите и добавьте илиизмените связанное значение и сохраните.

  • Откройте файл web.config в проводнике и просмотрите сохраненное значение.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...