配置文件和SqlConnection初始化

时间:2013-06-04 08:51:11

标签: c# sqlconnection

我在Window_Loaded中有以下代码的应用程序(我们称之为 test.exe ):

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    SqlConnection sqlConnection = new SqlConnection();
}

没有更多,也没有更少。应用程序没有问题。 现在,如果我将空配置文件( test.config )复制到同一目录,则应用程序崩溃。

我没有将配置文件添加到应用程序项目中,只是将空的xml文件手动复制到同一目录并重命名为.config(此文件仅包含xml声明,稍后将使用)。

我能够通过try-catch捕获有关缺少root的异常,但问题是应用程序在几秒钟之后崩溃。

为什么SqlConnection会读取此配置文件?为什么即使在捕获异常后它也会崩溃我的应用程序?

2 个答案:

答案 0 :(得分:0)

尝试使用sqlconnection()的参数化构造函数。传递你的连接字符串更安全的一面。您的申请将不依赖于

答案 1 :(得分:0)

我假设您的配置文件名为test.exe.config

我认为应用程序首次尝试读取其配置文件时会崩溃。在您的情况下,这是您实例化SqlConnection实例时,但还有很多其他方法可能发生。

在配置文件中添加<configuration>元素。

修改

重现此行为并检查堆栈跟踪。 DbConnectionPoolCounters正在访问System.Diagnostics.TraceSwitch,需要从配置文件中读取配置信息。

您应该添加带有test.exe.config元素的<configuration>文件。然后,配置系统将使用此文件并忽略您的空test.config文件。