ASP.NET如何从一个指定的用户每次只能处理1 HTTP处理程序?
题
我有下一个问题:我需要处理在从每个用户每次只1请求。让我们假设服务器识别每个用户的用户ID,在查询字符串中发送。 怎样才能让服务器工作方式类似FIFO(直至此前被全部处理不开始处理下一个请求)? 我应该使用指定的互斥HTTP处理程序内和名称分配给互斥的用户名?
在预先感谢 的Valentin
解决方案
当所述第一请求到来时,在会话中设置一个标志。复位该标志的第一请求的处理完成后,才
如果再次用户请求,而无需完成所述第一请求,只是由不执行代码的任何进一步线从的ProcessRequest()返回拒绝该请求。另外可以用适当的状态消息应答的用户返回。
修改
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Web.SessionState;
namespace MyHandlers
{
public class MyHttpHander : IHttpHandler,IRequiresSessionState
{
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
context.Response.Write("<h1><b>HttpHandler Test</b></h1>");
context.Session["Test"] = "Invoke a session in HttpHandler.";
context.Response.Write(context.Session["Test"]+"<br>");
context.Response.Write("<a href='HttpHandlerCsharp.aspx'><b>return</b></a>");
}
}
}
不隶属于 StackOverflow