Обратный слэш web.config появляется дважды Visual Studio 2010 - PullRequest
0 голосов
/ 27 сентября 2011

У меня есть веб-приложение asp.net, которое я сделал в Visual Studio 2008. Все работало очень хорошо, пока я не переключился на VS 2010. Когда это произошло, я начал видеть странное поведение со строкой подключения к базе данных. Строка (отредактированная, но формат такой же) выглядит следующим образом:

<add name="DBname" connectionString="Data Source=SomeText\SomeMoreText;Initial Catalog=DB;Integrated Security=True" providerName="System.Data.SqlClient"/>

Проблема в части SomeText \ SomeMoreText.
Когда я запускаю это в отладчике, «\» меняется на «\\». Это все ломает.

Мой вопрос, который, вероятно, имеет чрезвычайно простой ответ: Как заставить VS2010 обрабатывать строку подключения как обычную строку, не пытаясь вставить лишнюю косую черту?

1 Ответ

6 голосов
/ 27 сентября 2011

Дополнительной косой черты там нет, что касается интерпретации строки. Это просто escape-символ "\" перед косой чертой "\".

Хотите доказательства? Добавьте следующее в ваш код (с правильными именами, конечно):

Debug.WriteLine(connectionStringValueHere);

Вот небольшое приложение:

        string test = "This\\is\\a\\test";

        Console.WriteLine(test);
        Debug.WriteLine(test);

        Console.Read();

Обратите внимание, что строка в консоли и отладке (окно вывода) - это \ is \ a \ test. Если вы выполните следующие действия в ближайшем окне, когда код находится в точке останова:

 ? test

Вы видите следующий вывод

? test
"This\\is\\a\\test"

Но у вас есть экранирование, что нормально для строк в .NET.

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