Estoy tratando de registrar un proxy entre dominios de aplicación con Autofac.Autofac y Proxy de dominio de aplicación cruzada
El tipo concreto representado por el proxy implementa la interfaz IServiceHost. Por lo tanto, el proxy también debe permitir que las llamadas al proxy que utilizan esa interfaz funcionen.
intento registrar el proxy con Autofac, haciendo:
void Initialize(IServiceHost host)
{
Host = host;
var builder = new ContainerBuilder();
builder.RegisterInstance(host)
.As<IServiceHost>()
.SingleInstance();
Scope = builder.Build();
}
Sin embargo, en la llamada builder.Build()
, me sale:
ArgumentException
El tipo 'System.MarshalByRefObject 'no se puede asignar al servicio' Treadmarks.Core.ServiceBase.IServiceHost '.
Sin embargo, es host
definitivamente un IServiceHost
, ya que no es nulo y se trata de un argumento de un método inflexible.
¿Alguien puede explicar cómo puedo registrar el proxy correctamente?
Entonces 'host' no implementa' IServiceHost'? En ese caso, no es un problema de Autofac. – Steven
@Steven Dije específicamente que el tipo proxy * implementa * 'IServiceHost', por lo que el proxy también debe implementarlo. –
Autofac comprueba si 'host' es' IServiceHost' y porque no lo es, Autofac arroja una excepción. – Steven