1

静的クラスで静的メソッドを呼び出すオーケストレーションがあります。Linq クエリを何度も実行する必要がある場合は、コンパイル済みクエリにすることをお勧めします。そして、私のオーケストレーションは何度も生成されます。

しかし、コンパイルされたクエリにすることで何かを獲得できるかどうかはわかりません。

各オーケストレーションはクエリをコンパイルする必要がありますか、それとも共有されますか?

4

1 に答える 1

0

各オーケストレーションは独自のスレッドで実行されるため、各オーケストレーションには、linq クエリを含むメソッドのローカル変数の独自のコピーがあります。したがって、メソッドが呼び出されるたびにクエリがコンパイルされます。

静的クラスの有効期間はオーケストレーションの有効期間によって決定されるため、これを回避する方法がわかりません。非静的メソッドを呼び出すことができるシングルトン オーケストレーションを実装できます。そうすれば、最初の呼び出しでクエリをコンパイルし、後続のすべての呼び出しで同じクエリを使用できます。

于 2011-03-17T09:24:27.210 に答える