ASP.net 的工作线程与请求队列
当 ASP.NET 接收针对页的请求时,它从线程池中提取一个线程并将请求分配给该线程。
一个普通的(或同步的)页在该请求期间保留线程,从而防止该线程用于处理其他请求。如果一个同步请求成为 I/O bound(例如,如果它调用一个远程 Web 服务或查询一个远程数据库,并等待调用返回),那么分配给该请求的线程在调用返回之前处于挂起状态。 这影响了可伸缩性,原因是线程池的可用线程是有限的。
这个数字的设置是在 machine.config 的 下述节点的 maxWorkerThreads 属性
<system.web>
<processModel requestQueueLimit="num|Infinite" maxWorkerThreads="num" />
system.web>
maxWorkerThreads
按 CPU 配置用于进程的辅助线程的最大数目。例如,如果单处理器服务器上的该值为 25,ASP.NET 使用运行时 API 将进程限制设置为 25。在双处理器服务器上,该限制设置为 50。该属性的值必须等于或大于 httpRuntime 配置节中的 minFreeThread 属性设置。 该属性的范围是从 5 到 100。
ASP.net请求队列上述设置中,还有一个队列设置,如下:requestQueueLimit 指定队列中允许的请求数,超过此数目后,ASP.NET 将开始向新请求返回“503 - 服务器太忙”消息。 默认情况下,这个可用分线程数为1000。下图为IIS6和IIS7中这个参数的设置地方。
IIS 7 的可用线程数设置
IIS 6 的可用线程数设置
如果所有请求处理线程全部阻塞以等待 I/O 操作完成,则其他请求排入队列等待线程释放。
最好的情况是吞吐量减少,因为请求等待较长的时间才能得到处理。
最坏的情况则是该队列填满,并且 ASP.NET 因 503“Server Unavailable”错误使后续请求失败。
参考资料:
在服务器端 Web 代码中使用线程和生成异步处理程序
http://msdn.microsoft.com/zh-cn/library/aa686076.aspx
ASP.NET 2.0 中的异步页 http://www.microsoft.com/china/msdn/library/webservices/asp.net/issuesWickedCodetoc.mspx
IIS 6.0 架构
http://blog.csdn.net/heaven_pl/archive/2008/02/19/2106572.aspx http://blog.csdn.net/heaven_pl/archive/2008/02/19/2106579.aspx
IIS 7.0 架构
http://blog.csdn.net/SKY_VID/archive/2008/03/04/2147732.aspx
了解ASP.NET底层架构
http://blog.csdn.net/fanweiwei/archive/2007/04/10/1558912.aspx
相关文档:
大学生活,很难说,各种体会和滋味,因人而异
大学学习,更难说,各种成绩和瞎混,各有千秋
很多时候总是在想,这些年来到底学到了什么,作为一个大学生,比起那些社会上的混混到底有什么优势。没有答案,至少现在没有
很多时候对学习充满希望,但那仅仅只是停留在脑海中的计划,几乎没有过实现。
大学的基础课很重要, ......
http://hi.baidu.com/%E5%EB%B3%DF%C8%CB%C9%FA/blog/item/58a1540bbf0bb437b1351d9a.html
#region DataGridView数据显示到Excel
/// <summary>
/// 打开Excel并将DataGridView控件中数据导出到Excel
/// </summary>
/// <param name="dgv">DataGridView对象 </param>
/// <param na ......
AJAX技术所提倡的无刷新回调,在原来的技术中需要写大量的JavaScript代码或使用一些AJAX框架,使得开发效率和可维护性大大降低。其实ASP.NET2.0中,已经提供了这样的接口,这就是ICallbackEventHandler。
ICallbackEventHandler存在于System.Web.UI中,我们先做一个非常简单的例子来试用一下。
第一步,在VS2005中建 ......
1 目的
2 范围
3 注释规范
3.1 概述
3.2 自建代码文件注释
3.3 模块(类)注释
3.4 类属性注释
3.5 方法注释
3.6 代码间注释
4   ......
问题:
1如何在JavaScript访问C#函数?
2.如何在JavaScript访问C#变量?
3.如何在C#中访问JavaScript的已有变量?
4.如何在C#中访问JavaScript函数?
解答:
问题1、如何在JavaScript访问C#函数?
答案如下:
javaScript函数中执行C#代码中的函数:
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入but ......