ScriptManager で長いタイムアウトを使用するMicrosoft のリバース AJAX サンプルを調査しています
<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="2147483647">
そして、待機を制御する ManualResetEvent:
private ManualResetEvent messageEvent = new ManualResetEvent(false);
public Message DequeueMessage()
{
// Wait until a new message.
messageEvent.WaitOne();
}
public void EnqueueMessage(Message message)
{
lock (messageQueue)
{
messageQueue.Enqueue(message);
// Set a new message event.
messageEvent.Set();
}
}
私はそれに気づいた
- AsyncPostBackTimeout を低い値 (5) に設定しても、スクリプトがタイムアウトまたは失敗することはありません
<httpRuntime executionTimeout="5"/>
web.configでは効果がないようです次の JavaScript は、実行に時間がかかりすぎると実行されないように見えます
Sys.WebForms.PageRequestManager.getInstance() .add_endRequest(function (sender, args) { if (args.get_error() && args.get_error().name === 'Sys.WebForms.PageRequestManagerTimeoutException') { alert('Caught a timeout!'); // remember to set errorHandled = true to keep from getting a popup from the AJAX library itself args.set_errorHandled(true); } });
それは私にこれらの質問をさせます
このコードの実行に影響を与える正しい IIS 設定と .js コールバックは何ですか?
このアプリケーションが拡張されると、IIS インフラストラクチャのどの部分に負荷がかかりますか?
これが WAS ベースの WCF サービスになった場合、#2 に何か変化はありますか?