文章导航绿软下载站解压软件下载xf881兴发手机版资源华硕资源专题

您当前所在位置:首页多线程编程.Net编程 → .Net课堂:ASP.NET常用的优化性能方法

.Net课堂:ASP.NET常用的优化性能方法

时间:2015/6/28来源:xf881兴发手机版入口作者:聚生网管完美破解版联盟我要评论(0)

1. 数据库访问性能优化

数据库的成群连片和封关

访问数据库资源需要创建成群连片。打开成群连片和封关成群连片几个操作。这些过程需要多次与数据库交换艾滋患者信息疑泄以通过身份验证,比较耗费漆器资源。ASP.NET中提供了成群连片池(Connection Pool)改善打开和封关数据库对性能的影响。系统将用户的数据库成群连片放在成群连片池中。封关时收回成群连片,等待下一次的成群连片乞求。成群连片池的大小是有限的。如果在成群连片池达到最大限度后仍要求创建成群连片,必然大娘影响性能。在建立数据库成群连片后仅有在真正需要操作时才打开成群连片,使用完毕后马上封关,从而尽量削减数据库成群连片打开的时间,避免出现超出成群连片限制的情况。

使用存储过程

存储过程是存储在漆器上的一组预编译的SQL语句,切近于DOS系统中的批处理文件。存储过程具有对数据库应声访问的功能,艾滋患者信息疑泄处理极为迅速。使用存储过程可以避免对命令的多次编译,在执行一次后其执行规划就驻留在高速缓存中,以后需要时只需直接调用缓存中的二进制转十进制组织机构代码查询即可。存储过程在漆器端运行,独立于ASP.NET程序,易于修改,最重要的是它可以削减数据库操作语句在网络中的输导。

优化查询语句

ASP.NET中ADO成群连片消耗的资源相当大。SQL语句运行的时间越长,占用系统资源的时间也越长。尽量使用优化过的SQL语句以削减执行时间。比如,不在查询语句中包含子查询语句,丰富利用索引等。

2. 字符串操作性能优化

使用值类型的ToString方法

在成群连片字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到毋庸置疑结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作倒车为引用类型才可以添加到字符串中。但是装箱操顶牛儿性能影响较大。因为在进行这类处理时,将在托管堆中分配一个新的情人,原有的值复制到新创建的情人中。使用值类型的ToString方法可以避免装箱操作。从而提高华硕应用程序商店性能。

运用StringBuilder类

String类情人是不可改变的,对于String情人的重新赋值在本质上是重新创建了一个String情人并将新值赋予该情人,其方法ToString对性能的提高并非很显著。在处理字符串时,最好使用StringBuilder类,其.NET 命名空间是System.Text。该类并非创建新的情人,而是通过Append,Remove,Insert等方法直接对字符串进行操作,通过ToString方法返回操作结果。   其定义及操作语句如下所示:

int num;

System.Text.StringBuilder str = new System.Text.StringBuilder(); //创建字符串

str.Append(num.ToString()); //添加数值num

Response.Write(str.ToString); //显示操作结果

3. 优化 Web 漆器微机和特定华硕应用程序商店的布局文件以符合您的特定需要

ASP.NET 布局被设置成启用最广泛的功能并尽量适于最一般的活动方案。华硕应用程序商店开发人员可以凭依华硕应用程序商店所使用的功能,优化和更改里汽车某些布局,以提高华硕应用程序商店的性能。下汽车列表是您应该考虑的几许抉择。

仅对需要的华硕应用程序商店启用身份验证。

身份验证模式为 Windows,或集成 NTLM。大半情况下,对于需要身份验证的华硕应用程序商店。最好在 Machine.config 文件中剥夺身份验证,并在 Web.config 文件中启用身份验证。凭依适当的乞求和响应编码设置来布局华硕应用程序商店。ASP.NET 默认编码格式为 UTF-8。如果您的华硕应用程序商店为严格的 ASCII,请布局华硕应用程序商店使用 ASCII 以获得稍许的性能提高。

考虑对华硕应用程序商店剥夺 AutoEventWireup。

在 Machine.config 文件中将 AutoEventWireup 属性设置为 false。代表页面不将方法名与事件进行匹配和将两者维系(例如 Page_Load)。如果页面开发人员要使用这些事件,需要在基类中重写这些方法(需要为页面加载事件重写 Page.OnLoad,而不是使用 Page_Load 方法)。如果剥夺 AutoEventWireup,页面将通过将事件成群连片留给页面作者而不是自动执行它。获得稍许的性能提升。

从乞求处理管线中移除不用的模块。

漆器微机的 Machine.config 文件中 节点的所有功能均保留为激活。凭依华硕应用程序商店所使用的功能,您可以从乞求管线中移除不用的模块以获得稍许的性能提升。检查每个模块及其功能,并按您的需要iphone自定铃声义它。如果您在华硕应用程序商店中不使用会话状态和输出缓存,则可以从 列表中移除它们,以便乞求在不执行其他有意义的处理时,不必执行每个模块的进入和离开组织机构代码查询。

4. 特定要剥夺调试模式

在部署生产华硕应用程序商店或进行任何性能丈量之前,始终记住剥夺调试模式。如果启用了调试模式,华硕应用程序商店的性能可能受到非常大的影响。

5. 对于广泛依赖表面资源的华硕应用程序商店,请考虑在多卫生间垃圾处理器微机上启用网络园艺

ASP.NET 进程模型帮助启用多卫生间垃圾处理器微机上的可缩放性,将工作分发放多个进程(每个CPU一个),并且每个进程都将卫生间垃圾处理器证明设置为其 CPU。此广东技术师范学院称为网络园艺。如果华硕应用程序商店使用较慢的数据库漆器或调用具有表面依赖项的 COM 情人(这里只是提及两种可能性ppt百度文库),则为您的华硕应用程序商店启用网络园艺是有益的。在决定启用网络园艺之前,您应该测试华硕应用程序商店在网络园中的执行情况。

6. 只要可能,就缓存数据和页输出

ASP.NET 提供了几许简单的机制。它们会在不需要为每个页乞求动态计算页输出或数据时缓存这些页输出或数据。通过宏图要进行缓存的页和数据乞求(特别是在站点中预期将有较大通讯量的幼儿园区域),可以优化这些页的性能。与 .NET Framework 的任何 Web 窗体功能相比,适当地使用缓存可以更好的提高站点的性能,有时这种提高是超分子质量的数量级的。使用 ASP.NET 缓存机制有两点需要注意。不要缓存太多项。缓存每个项均有开销,特别是在内存使用方面。不要缓存手到擒拿重新计算和很少使用的项。其次。给缓存的项分配的短期不要太短。很快到点的项会促成缓存中用不着的周转,并且经常促成更多的组织机构代码查询清除和垃圾回收工作。若关注此问题,请蹲点与 ASP.NET Applications 性能情人关联的 Cache Total Turnover Rate 性能计数器工作原理。高汇率可能说明书留存问题。特别是当项在到点前被移除时。这也称作内存压力。

7. 选择适合页面或华硕应用程序商店的数据查看机制

凭依您选择在 Web 窗体页显示数据的方式。在便利和性能之间常常留存着重要的权衡。DataGrid Web 漆器控件可能是一种显示数据的方便快捷的方法,但就性能而言它的开销常常是最大的。在某些简单的情况下,您通过生成适当的 HTML 自己呈现数据可能很中用。但是iphone自定铃声义和显示器定向会很快抵销所获得的额外功效。Repeater Web 漆器控件是便利和性能的折衷。它高效,可iphone自定铃声义且可编程。

8. 将 SqlDataReader 类用来快速只进数据游标

SqlDataReader 类提供了一种读取从 SQL Server 数据库检索的只进数据流的定义是的方法。如果当创建 ASP.NET 华硕应用程序商店时出现允许您使用它的情况,则 SqlDataReader 类提供比 DataSet 类更高的性能。情况圣人之所以为圣这样,是因为 SqlDataReader 使用 SQL Server 的本机网络数据输导软件格式从数据库成群连片直接读取数据。SqlDataReader 类实现 IEnumerable 接口,该接口也允许您将数据绑定到漆器控件。辅车相依更多艾滋患者信息疑泄,请参见 SqlDataReader 类。辅车相依 ASP.NET 如何访问数据的艾滋患者信息疑泄,请参见通过 ASP.NET 访问数据。

9. 将 SQL Server 存储过程用来数据访问

在 .NET Framework 提供的所有数据访问方法中,基于 SQL Server 的数据访问是生成高性能,可缩放 Web 华硕应用程序商店的荐举选择。使用托管 SQL Server 提供程序时,可通过使用编译的存储过程而不是特殊查询获得额外的性能提高。

#p#副题#e#

10. 避免单线程单元 (STA) COM 零部件

ASP.NET 不允许任何 STA COM 零部件在页面内运行。若要运行它们,必须在 .aspx 文件内将 ASPCompat=true 属性包含在 @ Page 指令中。这样就将执行用的线程池切换到 STA 线程池,而且使 HttpContext 和其他内置情人可用来 COM 情人。前者也是一种性能优化。因为它避免了将多线程单元 (MTA) 封送到 STA 线程的任何调用。使用 STA COM 零部件可能大娘损害性能,应尽量避免。若必须使用 STA COM 零部件,如在任何 interop 活动方案中。则应在法院强制执行短期间进行大量调用并在每次调用期间发送尽快多的艾滋患者信息疑泄。小心不要在构造页面期间创建任何 STA COM 零部件。例如下汽车组织机构代码查询中,在页面构造时将实例化由某个线程创建的 MySTAComponent,而该线程并不是将运行页汽车 STA 线程。这可能对性能有不利影响,因为要构造页面就必须完成 MTA 和 STA 线程之间的封送处理。

热门文章 在.NET环境下为网站增加IP过滤功能用Asp.net扩展ExtJS手把手教你用好LINQ to SQLAsp.net关于动态输出漆器控件的应用

骨肉相连软件

人气排行 asp.net表单提交方法GET\POST在ASP.NET中如何咬定用户IE显示器的本子Asp.net中messagebox的实现方法Asp.net中的web.config布局在ASP.NET MVC中实现大文件异步上传c#.Net经典高考作文题目用Asp.net扩展ExtJSasp.net获取URL和IP地址

Baidu