C#でスレッド静的オブジェクトを使用するコードがいくつかあります。
[ThreadStatic]
private DataContext connection
この場合、静的修飾子をスレッドの静的コンテキストに配置すると、変更が加えられるとしたらどうなるでしょうか。
[ThreadStatic]
private static DataContext connection
最初のものでは、スレッドごとにインスタンスごとにコンテキストのコピーが1つあり、他のコピーはスレッドごとに1つだけですか?
ThreadStaticAttribute
は、 MSDNが指摘 のように、静的変数でのみ使用するように設計されています。インスタンス変数で使用する場合、まったく何もしないと思います。
前者の場合はおそらく無視されますが、後者の場合は正しいです。スレッドごとに1つのインスタンスです。
MSDNによると:
staticフィールドの値がスレッドごとに一意であることを示します。
だから私はあなたの最初のケースが間違っていると思います...属性はおそらく無視されます