我正在尝试使用以下注册拦截 WCF 服务服务器端的方法:
containerBuilder.RegisterType<Service>().As<IServiceContract>().InstancePerLifetimeScope()
.EnableInterfaceInterceptors().InterceptedBy(typeof(MethodInterceptor));
但是,当我这样做时,服务端点消失了。WCF 服务托管在 Windows 服务中。有任何想法吗?
我收到的异常如下:
System.ServiceModel.EndpointNotFoundException:没有
http://localhost:8000/endpointaddress
可以接受消息的端点监听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。---> System.Net.WebException:远程服务器返回错误:(404)未找到。
MethodInterceptor 注册如下:
containerBuilder.Register(componentContext => new MethodInterceptor(invocation =>
{
return new NLogToLoggerAdaptor(LogManager.GetLogger(invocation.InvocationTarget.GetType().FullName));
})).InstancePerLifetimeScope();