【发布时间】:2018-07-31 17:52:49
【问题描述】:
我有公共接口和内部实现,
public interface IService
{
...
}
internal class Service: IService
{
...
}
我是通过
注册的builder.RegisterAssemblyTypes(assembly)
.EnableInterfaceInterceptors()
.AsImplementedInterfaces()
.AsSelf()
但我遇到了错误
组件Activator=Service(ReflectionActivator),Services=[~.IService,~.Service], Lifetime = Autofac.Core.Lifetime.MatchingScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope 不能使用接口拦截,因为它提供的服务不是公开可见的接口。检查您对组件的注册,以确保您没有启用拦截并将其注册为内部/私有接口类型。
为什么会出现此错误?我的界面是公开的。
【问题讨论】:
标签: c# dependency-injection autofac castle-dynamicproxy