私は自分のコードの一部から第三者コードのいくつかのレイヤーを呼び出しています。コール・サーフェスは、私が書いたコードを呼び出して、ある時点で私のコードに戻ってきます。言い換えればこの問題を解決する方法はありますか?
、コードの呼び出しチェーンは次のようになります。
My code #1 --> 3rd party code --> My code #2
残念ながら、私はサードパーティのコードに渡す何もコードの、第2片に与えられていないので、私は最初の部分を結ぶことは何もありませんコードが同じスレッド上で実行されていることを除いて、2番目の部分が一緒になります。
クラスの静的フィールドに[ThreadStatic]
を単に使用するだけで解決できるのだろうかと思いましたが、
コードはWebアプリケーションでも実行されるため、私はにはちょうどには静的フィールドを使用できません。オブジェクト(オブジェクト)へのアクセスが必要な値はユーザー/セッションごとに異なります。
ie。私はこのような何かをするでしょう:
internal static class DataHolder
{
[ThreadStatic]
internal static ClassName FieldName;
}
他の解決方法はありますか?この質問で述べたように、.NET 4のための
あなたは、デリゲートのいくつかの種類が戻って呼び出されるためにサードパーティのコードを手に持っていると思います。それはあなたにオブジェクトをそれから外す方法を与えるべきです。 –
残念ながら、それは単純ではありません、イベントを添付する唯一の場所は静的イベントです(私を掛けないでください、私はsh **の部分をデザインしませんでした)。サードパーティライブラリ。 –
イベントが静的であるかどうかは関係ありません。作成するデリゲートインスタンスは重要です。 SystemEventsと比較します。 –