Autofac и кросс-доменные прокси
Я пытаюсь зарегистрировать кросс-домен AppDomain с помощью Autofac.
Конкретный тип, представленный прокси, реализует интерфейс 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'.
Тем не мение, host
определенно IServiceHost
, поскольку он не равен нулю и исходит из строго типизированного аргумента метода.
Может кто-нибудь объяснить, как я могу правильно зарегистрировать прокси?
1 ответ
Вы должны быть в состоянии использовать лямбда с .Register()
метод, а не .RegisterInstance()
, чтобы обойти это.