IHttpAsyncHandler と XMLHTTPRequest を使用して、次の URL を使用してメッセージをクライアントにプッシュしています: http://www.codeproject.com/Articles/42734/Using-IHttpAsyncHandler-and-XMLHttpRequest-to-push しかし、実際にはいくつかの変更を加えています。この例は 1 つのクライアントのみに基づいており、複数のクライアントにメッセージを送信する必要があるため、これらの変更を行います
public void ProcessRequest(HttpContext context)
{
var recipient = context.Request["recipient"];
lock (_obj)
{
string[] totalfrnds = ("1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20").Split(',');//<- This is just an example for many clients
foreach (var a in totalfrnds)
{
var handle = MyAsyncHandler.Queue.Find(q => q.SessionId == a);//<- check who's client is online or not
if (handle != null)
{
handle.Message = context.Request["message"];
handle.SetCompleted(true);
}
}
}
}
今、私は2つの問題を抱えています
このタイプのエラーを解決するにはどうすればよいですか? これは永続的なエラーではなく、ランダムに発生します。
W3wp.exe の非同期スレッドの制限は何ですか。25 リクエストを超えると次のリクエストを開くことができず、IIS をリセットしてアプリケーションを再開する必要があります。