这是我的代码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个请求一次服务。如果没有,那么告诉我以这种方式编写代码的最佳方式,它可以有效地同时处理多个请求。感谢
答案 0 :(得分:1)
一切都取决于GetAjaxContent
上DataClass
方法的实施情况。如果此方法不依赖于某些共享状态并且它是线程安全的,则您的代码应该能够同时处理多个客户端。因为您只使用局部变量(我们无法知道它的作用的GetAjaxContent
方法除外),所以您的代码是线程安全的。
答案 1 :(得分:1)
看起来不错,但如果您的DataClass实例写入任何共享状态,则可能存在问题。