質問

いwebアプリ利用者を対象にした、現在のHttpContextハイアットグランLINQデータコンテキストのコンテキストが続き現在のリクエスト、ユーザベース、 リックStrahlのブログ:

string ocKey = "ocm_" + HttpContext.Current.GetHashCode().ToString("x")  
Thread.CurrentContext.ContextID.ToString();

if (!HttpContext.Current.Items.Contains(ocKey))
{
    // Get new Data Context and store it in the HTTP Context
}

しかしながら、一部のスクリプトを実施するからです。asaxファイル ない るHttpContext. のHttpContext.電流がNULLの場合, では、サーバの一つは"希望".

があるのと同等のオブジェクトに利用できるデータ。とは思えない心配もしくは再作成し、付着/脱着物?私みたいで続くのコンテキストの寿命についての私のプロセス。

更新:

私は現在利用しようと静的変数にマダルヘルパークラスです。最初の呼び出にあり、クラスのDataContextスのインスタンスが作成、保存され、静的変数となります。では最後に、私は別の方法と通話処理のDataContextおよび静的変数をNULLにします。

役に立ちましたか?

解決

することはできないので使用の静的変数にそのスクリプト?と同じ生活-時間としての AppDomain.べきかについて考え、任意の並行処理念としており、その音のように簡単にいち早く入手することができる値です。

うにチェックが一つのインスタンス HttpApplication 使用できるサービス複数の要求を、それぞれは、ただ一つの請求であることを示唆する複数のインスタンスが作成され兼請求処となります。まだ検証されること、それは音のようにならないから安全に保管し、インスタンス変数となります。)

編集:ジ答えることを示唆したいことを当たります。音わっていま 多く これらの事象には、非常がみとして実行する別のスレッドなっており、全体として共有事業の意味が無い。ればならないかもしれませんしたいのようで、私の提案だけでインスタンス変数の HttpApplication由来のクラスとは正にその理由を記の項上記:)

他のヒント

なぜ使用しないで、現在のHttpContext?のスクリプトだ。asaxファイルはすべての要求をサーバーであるべきコンテキストに関連した要求ペディアのキャンセル手数.

かわからないの必要性を生成する鍵のハッシュコードは、thread.ができたことは別のインスタンスHttpContext各要求を取り扱いしておりますが、インスタンスは特定のスレッドで処理します。そのための鍵なのですが、ここでは価値がない場合でのインスタンスのHttpContextのねじになります。

もどうかという話があったようだ棄するDataContextき。を実装するIDisposableの理由にようなのでお勧めしに対して共有インスタンス。


更新

のコメントであることが明らかになっはタイマーでのトレーニングでは実行のためのイントロダクションです。の代わりにタイマーでおすすめの設予定の課題を呼webserviceまたは所定のページのサイトを行う作業です。そしてまいHttpContext用することが可能です。

HttpContext.現在は、staticメソッドは、できるようにどこからでも、コードが実行中のコンテキスト内のリクエストを扱います。

お場合にはない実行コンテキスト内の要望で、待を使用願います。キャッシュには、警戒を持DataContextます。私は非常にfamillarとlinq to entities、をとることができると思いますか間違ったものの、一般的にキャッシュデータベース関連する事項などの接続が悪かったりします。

いた"ということをお勧めしをご検討の移動の論理行です。asaxをwindowsのサービスです。このうまいりましたこれらの課題を設定できるようにし、またシャットしてseperatleyのウェブサイトです。

編集

しJSポイントを出しますが使用は静的変数となります。このままの定義インスタンス変数の付いたThreadLocalの属性。これによりスレッドごとに独自のコピーを可変し、除去することが可能で対立を生んでいる。また各スレッドへのコピー?

ある理由が必要であろうと同じように扱われ、その他のDataContexts?そしんでいただけるようにした場合には、コンテキストだけに必要な内部イベント処理ルーチンは、まだ必要になります。特にしている場合はApplication_Startてコメント、なお邪魔キャッシュを使用して繰り返して行なうことができだけ使用し現地でのその他の方法として必要です。

セットのDataContextとしての状態をパラメータを生成する場合には始まります。に基づく情報掲載のコメントとなっているように思いるDataContextりに関するタイマは他の何よりも優先されます。

また使用は避け、同DataContext異なるパートだと思い混合の変更から、異なるタイマー.もくじタイマーロジックな走り回している原因の一つ短い期間がない。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top