使用Autofac拦截WCF服务

时间:2013-10-10 13:33:35

标签: autofac

我试图通过以下注册拦截WCF服务服务器端的方法:

containerBuilder.RegisterType<Service>().As<IServiceContract>().InstancePerLifetimeScope()
                .EnableInterfaceInterceptors().InterceptedBy(typeof(MethodInterceptor));

但是,当我这样做时,服务端点消失了。 WCF服务托管在Windows服务中。有什么想法吗?

我收到的例外情况如下:

  

System.ServiceModel.EndpointNotFoundException:http://localhost:8000/endpointaddress没有可以接受该消息的端点。这通常是由错误的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。 ---&GT;   System.Net.WebException:远程服务器返回错误:(404)Not Found。

MethodInterceptor注册如下:

containerBuilder.Register(componentContext => new MethodInterceptor(invocation =>
{
    return new NLogToLoggerAdaptor(LogManager.GetLogger(invocation.InvocationTarget.GetType().FullName));
})).InstancePerLifetimeScope();

0 个答案:

没有答案