无法在服务器

时间:2016-12-07 14:45:31

标签: entity-framework entity-framework-6

按照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目录中。

任何想法可能导致此服务器上的问题?还有其他要检查的事情吗?

2 个答案:

答案 0 :(得分:1)

如果文件的驱动器或路径无效(或无法访问),则会发生这种情况。

<parameter value="D:\TempLogging\LogOutput.txt"/>

在您的情况下,请确保驱动器D: TempLogging 文件夹存在且可写。

答案 1 :(得分:0)

在我的情况下,当多个线程试图访问数据库时,这会在IIS APP下发生。我找不到简单的解决方案,只能关闭此DBInterceptor功能。