【问题标题】:log4net stops working when remove MultipleActiveResultSets="true" from SQL Server connection string从 SQL Server 连接字符串中删除 MultipleActiveResultSets="true" 时,log4net 停止工作
【发布时间】:2017-06-09 16:02:09
【问题描述】:

我们在一个 asp.net 应用程序中使用 log4net,指向一个 SQL Server。

我们从连接字符串中删除 MultipleActiveResultSets="true" 并重新启动 IIS,应用程序继续记录。但是,我们随后重新启动 SQL Server,log4net 停止工作。

我们将 MultipleActiveResultSets="true" 重新添加到连接字符串并重新启动 IIS,但 log4net 仍然无法正常工作。然后我们在连接字符串中使用 MultipleActiveResultSets="true" 重新启动 SQL Server,log4net 再次开始工作。

log4net 在连接字符串中是否需要 MultipleActiveResultSets="true"?在连接字符串中没有 MultipleActiveResultSets="true" 的情况下,log4net 是否可以工作?

【问题讨论】:

  • 看起来很奇怪,除非您使用自定义代码 - a) 为什么 log4net 无论如何都要查询数据库? b) 我已经多次使用 log4net 而没有该设置。我推荐enabling log4net debugging 并查看输出。
  • @stuartd,我确实打开了 log4net 内部调试,我得到的只是“现有连接被远程主机强行关闭”。我会将完整的错误文本添加到我的问题中。

标签: asp.net sql-server log4net


【解决方案1】:

原来我们只需要 SQL Server 重新启动后重新启动 IIS。当我们这样做时,这个 log4net 再次开始工作,即使连接字符串不包含 MultipleActiveResultSets=true。

猜你喜欢
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 2010-10-05
  • 1970-01-01
  • 2015-03-22
  • 1970-01-01
  • 2016-12-09
相关资源
最近更新 更多