4

クロス 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' に割り当てることができません。

ただし、null ではなく、厳密に型指定されたメソッド引数から取得されるため、間違いなくhostです。IServiceHost

プロキシを正しく登録する方法を誰か説明できますか?

4

1 に答える 1

2

これを回避するには、.Register()メソッドではなくラムダを使用できるはずです 。.RegisterInstance()

于 2012-03-07T01:47:27.503 に答える