0

完了するのに 5 分かかるランク リスト メソッドがあります。

リストを memcache にキャッシュしますが、キャッシュの有効期限が切れると、すべてのリクエストがブロックされます。

そのため、memcache にリストとキャッシュ時間の両方を一緒にキャッシュし、有効期限を長く設定したいと考えています。

memcache からリストを取得するたびに、プログラムはキャッシュ時間もチェックし、1 時間を超える場合、プログラムはランク リストを再生成する新しいスレッドを開始し、プログラムはすぐに古いリストを返します。

したがって、プログラムにブロックはありません。

問題は、asp.net で新しいトレッドを開始するのは正しいですか? aspx スレッドの応答が終了したときに新しいスレッドが強制終了される場合は?

そして、スプレッドキャッシュロックを解決する方法??? 3 台の iis サーバーを使用しています

4

3 に答える 3

0

http-handler を使用する必要があると思います。
http://msdn.microsoft.com/en-us/library/ms228090%28v=vs.100%29.aspxスレッドとして機能し、そこにある
ものなどにアクセスできます。これにはhttp://msdn.microsoft.com/en-us/library/system.web.sessionstate.irequiressessionstate.aspx を使用する必要が あり、どこからでも呼び出すことができます。 からまたはからsessioncache
IRequiresSessionState



code behindjquery

于 2013-03-19T08:37:34.697 に答える
0

Global.asax で使用App_Startして、要求に結び付けられていないスレッドを取得できますが、まだ制限があることに注意する必要があります (たとえば、ワーカー プールは一定時間後にスレッドを強制終了する可能性があります)。

詳細については、こちらをご覧ください: http://www.informit.com/articles/article.aspx?p=25722&seqNum=8

于 2013-03-19T08:28:06.370 に答える
0

最初にアプリケーションのタイムアウトを増やす必要があります。設定ファイルで設定できます。断線しないために

<system.web>
     <sessionState timeout="60"></sessionState>
</system.web>

リンク: http://msdn.microsoft.com/fr-fr/library/system.web.sessionstate.httpsessionstate.timeout(v=vs.80).aspx

キャッシュには、さまざまな永続的なキャッシュ システムを使用できます: セッション、キャッシュ、またはアプリケーション

使用するCache場合は、永続化の時間に TimeSpan を設定できます

リンク: http://msdn.microsoft.com/fr-fr/library/system.web.caching.cache.aspx

于 2013-03-19T08:29:05.847 に答える