1

IIS でホストされている C# で記述された Web サービスがあります。タスクの呼び出しを分離するために AppDomains を使用しています。各呼び出しは別のドメインで実行されます。コードは次のようなことを行います。

public class Simplified
{
    public void Run()
    {
        AppDomain workDomain = AppDomain.CreateDomain(...);
        var workUnit = (IWorkUnit)workDomain.CreateInstanceAndUnwrap(...);
        workUnit.Execute(...);
        //Done - but keep the workUnit around in case we need it again
    }
}

ただし、それぞれAppDomainが dll の個別のコピーをロードしているため、処理時間の大きな部分を占めています。アセンブリがすべてのアプリドメインで共有されるように、何らかの方法でアセンブリにドメインニュートラルをロードさせることができることを理解しています。IIS Web サービスでこれを行うにはどうすればよいですか?

4

1 に答える 1

1

設定するのと同じくらい簡単であることがわかります

setup.LoaderOptimization = LoaderOptimization.MultiDomain;

ドメインの作成に使用される AppDomainSetup オブジェクト。これは IIS で正常に動作します

于 2013-11-25T13:31:51.300 に答える