我有下一个问题:我需要处理在从每个用户每次只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>");
        }
    }
} 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top