Autofac으로 교차 AppDomain 프록시를 등록하려고합니다.Autofac 및 교차 AppDomain 프록시
프록시가 나타내는 구체적인 유형은 인터페이스 IServiceHost를 구현합니다. 따라서 프록시는 해당 인터페이스를 사용하는 프록시에 대한 호출이 작동하도록 허용해야합니다.
나는 수행하여, Autofac와 프록시를 등록하려고 :
void Initialize(IServiceHost host)
{
Host = host;
var builder = new ContainerBuilder();
builder.RegisterInstance(host)
.As<IServiceHost>()
.SingleInstance();
Scope = builder.Build();
}
그러나, builder.Build()
통화, 내가 얻을 :
ArgumentException이
유형 'System.MarshalByRefObject '서비스'Treadmarks.Core.ServiceBase.IServiceHost '에 지정할 수 없습니다. 이 null는 아니고, 강력한 형식의 방법 인수에서 유래 이후
그러나 host
는 IServiceHost
확실히입니다.
누구든지 프록시를 올바르게 등록 할 수있는 방법을 설명 할 수 있습니까?
그래서'host'는'IServiceHost'를 구현하지 않았습니까? 이 경우에는 Autofac 문제가 아닙니다. – Steven
@Steven 필자는 프록시 화 된 타입이 IServiceHost를 구현한다고 특별히 말했기 때문에 프록시는 그것을 구현해야만한다. –
Autofac은'host'가'IServiceHost'인지 확인하고 그렇지 않으면 Autofac이 예외를 throw합니다. – Steven