3

アプリケーション (.NET、C#) で進行中の操作に特定のコンテキストを実装して、アプリケーションによって開始および実行されるコードがそれにアクセスできるようにしたいと考えています。

問題は、特定の API が行っているように、コンテキストがオブジェクトとして渡されないことです。

この静的クラスが各操作のコンテキストを提供できる WCF の OperationContext に似たものを実装したいと思います。

そのようなシステムをどのように実装できますか?

使用例:

当社のアプリケーションは、当社の SDK にアクセスできる人が作成したサードパーティの「プラグイン」を読み込んで実行します。

このようなユーザー コードは次のようになります。

public void SomeMethod(string a, string b)
{
    // NEEDED: something like this
    Context.Results = new Results();

    // Do some stuff here

    // Call another method (without passing Results to it)
    AnotherMethod();
}

public void AnotherMethod()
{
     // NEEDED: Access the context (Results) somehow to add more info to it.
     Context.Results.Add(something);
}

この例によると、必要なのはいくつかの静的 Context クラスだけですが、アプリケーションで実行されるすべての操作に対して一意であることを確認するにはどうすればよいでしょうか?

4

1 に答える 1

1

オプションとして、Autofac のような IoC コンテナーをソリューションに導入する場合、オブジェクトを作成するときに共有コンテキストへのアクセスを提供できます。

オブジェクト関係タイプに関するこの記事を指す例については、この SO の質問を参照してください。このアプローチで何ができるかについて、いくつかのアイデアが得られるはずです。

于 2012-10-16T22:39:06.733 に答える