如何开发可以处理多个请求的http处理程序

时间:2011-11-30 13:24:25

标签: c#

这是我的代码ashx http处理程序,它根据请求向客户端发送内容。

public void ProcessRequest(HttpContext context)
{
    string startQstring = context.Request.QueryString["start"];
    string nextQstring = context.Request.QueryString["next"];
    //null check
    if ((!string.IsNullOrWhiteSpace(startQstring)) && 
    (!string.IsNullOrWhiteSpace(nextQstring)))
    {
        //convert string to int
        int start = Convert.ToInt32(startQstring);
        int next = Convert.ToInt32(nextQstring);

        //setting content type
        context.Response.ContentType = "text/plain";
        DataClass data = new DataClass();
        //writing response
        context.Response.Write(data.GetAjaxContent(start, next));
    }
}

它正在工作,但我不确定它是否同时处理多个请求,例如1000个请求一次服务。如果没有,那么告诉我以这种方式编写代码的最佳方式,它可以有效地同时处理多个请求。感谢

2 个答案:

答案 0 :(得分:1)

一切都取决于GetAjaxContentDataClass方法的实施情况。如果此方法不依赖于某些共享状态并且它是线程安全的,则您的代码应该能够同时处理多个客户端。因为您只使用局部变量(我们无法知道它的作用的GetAjaxContent方法除外),所以您的代码是线程安全的。

答案 1 :(得分:1)

看起来不错,但如果您的DataClass实例写入任何共享状态,则可能存在问题。