我正在尝试使用EF 6.1中添加的拦截器功能打开数据库日志记录。当我在ASP.NET web.config文件中打开时它工作正常,但是当我尝试在使用EF 6.1的WCF服务中使用时,它会收到以下错误
异常:System.ServiceModel.ServiceActivationException:服务' /DataAccessService.svc'由于编译期间的异常,无法激活。异常消息是:System.Data.Entity.Internal.AppConfig'的类型初始值设定项。引发异常。更有说服力的信息来自内部异常:无法识别的元素'拦截器'。 web.config第123行)
注意:根据第一个答案,我提供了更多来自web.config的元素
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
.
.
.
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
<interceptors>
<interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework">
<parameters>
<parameter value="C:\tmp\DataAccessLogOutput.txt" />
</parameters>
</interceptor>
</interceptors>
</entityFramework>
&#13;
答案 0 :(得分:1)
您没有正确注册定义<interceptors>
的{{3}}。换句话说,你是否在配置文件的顶部有这个?
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
</configuration>