У меня есть консольное приложение, содержащее файл конфигурации приложения, содержащий одну строку подключения, как показано ниже:
<configuration>
<connectionStrings>
<add name="Target"
connectionString="server=MYSERVER; Database=MYDB; Integrated Security=SSPI;" />
</connectionStrings>
</configuration>
Когда я передаю это моему соединению, используя:
ConfigurationManager.ConnectionStrings[1].ToString()
У меня есть два значения, поэтому, используя второй в коллекции, мой вопрос: откуда эта вторая секунда?
Я проверил версию \Bin и оригинал, и это не мое! Очевидно, что система породила один, но я этого раньше не видел? Может ли кто-нибудь просветить меня?
Строка подключения тайны:
data source=.\SQLEXPRESS;
Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;
User Instance=true
Это не проблема как таковая, я просто хотел бы знать, почему это происходит? Спасибо заранее!
В будущем обратитесь к тем, кто может или не может наткнуться на это, после обнаружения machine.config
становится очевидным, что плохой практикой является ссылка на конфигурацию по его индексу, поскольку каждый стек потенциально может быть другим, и именно поэтому Используются "ключи".
В этом случае мой код будет выглядеть следующим образом:
ConfigurationManager.ConnectionStrings["Target"].ToString()
Приветствует всех!