按照https://blog.oneunicorn.com/2014/02/09/ef-6-1-turning-on-logging-without-recompiling/
添加DatabaseLogger拦截器<interceptors>
<interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework">
<parameters>
<parameter value="D:\TempLogging\LogOutput.txt"/>
<parameter value="true" type="System.Boolean"/>
</parameters>
</interceptor>
</interceptors>
在本地,开发和QA框中正常工作,但在客户服务器上添加此配置会引发错误
The type 'System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework' registered in the application config file as an IDbInterceptor could not be loaded
EntityFramework.dll位于服务器的bin目录中。
任何想法可能导致此服务器上的问题?还有其他要检查的事情吗?
答案 0 :(得分:1)
如果文件的驱动器或路径无效(或无法访问),则会发生这种情况。
<parameter value="D:\TempLogging\LogOutput.txt"/>
在您的情况下,请确保驱动器D:和 TempLogging 文件夹存在且可写。
答案 1 :(得分:0)
在我的情况下,当多个线程试图访问数据库时,这会在IIS APP下发生。我找不到简单的解决方案,只能关闭此DBInterceptor功能。