摘要:
当你在开发ASP.NET网站,对用户控件一定并不陌生。当多个页面都使用相同或相似的设计时,使用用户控件可以提高开发效率!但往往你会因为用户控件有少许不同的要求而感觉到烦恼。在多个页面都会要求用到用户搜索,有时候它会用于修改用户的基本资料,有时候它会用来查询用户订单,有时候它会查询用户论坛的信息。多个页面用的都是同一个功能的搜索器,但当按下“选择”键的时候,它们要求实现不同的功能。这时候,你可以使用用户控件的事件来实现这个功能。总结一下,适当地利用ASP.NET用户控件的属性和事件,可以更有效地提高用户控件的可复用性,减少不必要的代码,提高页面开发的工作效率,你还可以使用自
阅读全文
摘要:
在上一章介绍过异步IHttpHandler后,大家应该了解到异步操作带来的好处。它可以及时释放服务器线程池里面的线程,当完成外部操作再使用回调函数进行数据获取。下面为大家介绍一下异步Web Service的操作,其实它与异步IHttpHandler的原理是十分相似的,记得在介绍IHttpHandler里面以Stream异步作为例子,下面以SqlCommand作为例子。(还说一句老话,我这里指的是服务器端的异步方式,而并非客户端异步调用)
总结:ASP.NET Web 服务中提供了一个有效的机制,可以异步调用后端服务,使线程池中的宝贵线程及时得到释放。通过结合对后端资源的异
阅读全文
摘要:
在.NET系统中,可以通过Thread直接创建线程。但为了避免使用过多的线程对系统性能做成影响,微软特别开发了一个ThreadPool(CLR线程池)对线程进行管理。
ThreadPool.QueueUserWorkItem(new WaitCallback(method), objcet);//新建线程
CLR线程池的线程却分成两种:工作者线程与IO线程
ThreadPool.GetAvailableThreads(out int a1, out int a2);//a1为工作者线程,a2为IO线程
一般ASP.NET线程会在工作者线程中运行,但当使用硬盘文件读取,外部
阅读全文