設定が高価でスレッドセーフであるため再利用のメリットがあると思われるIHttpHandlerがあります。しかし、リクエストごとに新しいハンドラが作成されています。私のハンドラは再利用されていません。IHttpHandlerは再利用可能ですが再利用されません
以下は私の簡単なテストケースですが、高価な設定はありません。私はどのようにIsReusable作品を誤解
public class MyRequestHandler : IHttpHandler
{
int nRequestsProcessed = 0;
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
nRequestsProcessed += 1;
Debug.WriteLine("Requests processed by this handler: " + nRequestsProcessed);
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
}
Requests processed by this handler: 1
Requests processed by this handler: 1
Requests processed by this handler: 1
Requests processed by this handler: 1... at least 100 times. I never see > 1.
アム:この単純なケースでは私の問題を示していますか?再利用を打ち負かすことのできる何か他のものがありますか?違いがあれば、Silverlightアプリケーションからハンドラが呼び出されています。
はどのようにあなたのアプリケーションにあなたのハンドラを取り付けていますか? web.configまたはプログラムによって – Jacob
これは私の最初のそのようなアプリです。私はVisual Studioで新しいASP.NET Webサイトプロジェクトを作成しました。サーバーを実行するには、Visual StudioからDebugを実行しています。 –
実行するために 'MyRequestHandler'をどのように設定したかを尋ねています。例えば、あなたのweb.configに設定されているのですか、それを登録する 'Global.asax'のコードがありますか? – Jacob