111,128
社区成员
发帖
与我相关
我的任务
分享
if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
{
//服务器无法保证在五秒内处理并回复,直接回复空串
HttpContext.Current.Response.Output.Write("");
using (Stream stream = HttpContext.Current.Request.InputStream)
{
Byte[] postBytes = new Byte[stream.Length];
stream.Read(postBytes, 0, (Int32)stream.Length);
postString = Encoding.UTF8.GetString(postBytes);
}
//然后数据处理,写入数据库
..........
} HttpContext.Current.Response.End();在Output.Write("");之后,这一次服务器回复OK了,但是数据却并没有处理,好像是因为在end()之后,这个页面就停止继续运行了。请问这种情况如果我需要先回复空串,再继续在该页面处理数据该怎么做呢?谢谢大家啦。ThreadPool.QueueUserWorkItem(h =>
{
.........
});
这里的过程应该与 Response 无关。
另外,我们使用 NoSql 的目的是为了每秒能够写10万以上数据、每秒读(按索引查询)几十万记录。关系数据库当大量多用户并发时其“数据库事务”的瓶颈会造成性能要降低几十倍(关系数据库的事务只能做到每秒百八十个,而不是十万个)。
你说你写一次数据要远远超过5秒钟,我觉得这应该在软件设计上下功夫了,已经严重超出我能想象的范围了。