配置文件和 SqlConnection 初始化
本文关键字:初始化 SqlConnection 配置文件 | 更新日期: 2023-09-27 18:16:53
我有应用程序(我们称之为test.exe(,Window_Loaded中有以下代码:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
SqlConnection sqlConnection = new SqlConnection();
}
仅此而已。应用程序工作没有问题。现在,如果我将一个空的配置文件 (test.config( 复制到同一目录,应用程序就会崩溃。
我没有将配置文件添加到应用程序项目中,它只是手动复制到同一目录并重命名为 .config 的空 xml 文件(此文件仅包含 xml 声明,稍后会使用(。
我能够通过try-catch捕获有关缺少root的异常,但是问题是应用程序无论如何都会在几秒钟后崩溃。
为什么 SqlConnection 会读取此配置文件?为什么即使在捕获异常后它也会使我的应用程序崩溃?
我假设您的配置文件称为test.exe.config
。
我会想象应用程序在第一次尝试读取其配置文件时崩溃。 在您的情况下,这是您实例化SqlConnection
实例时,但还有很多其他方式可能发生。
将<configuration>
元素添加到配置文件中。
编辑
重现此行为并检查堆栈跟踪。 DbConnectionPoolCounters
正在访问一个System.Diagnostics.TraceSwitch
,它需要从配置文件中读取配置信息。
您应该添加一个带有<configuration>
元素的test.exe.config
文件。 然后,配置系统将使用此文件并忽略您的空test.config
文件。
尝试使用 sqlconnection(( 的参数化构造函数。 传递连接字符串以确保更安全。 您的应用程序将不依赖于