知识大全 ASP.NET错误处理和程序优化
Posted 知
篇首语:满堂花醉三千客,一剑霜寒十四州。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET错误处理和程序优化相关的知识,希望对你有一定的参考价值。
ASP.NET错误处理和程序优化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
议程 错误类型以及处理方式 提高数据访问性能 服务器控件的使用 缓存的使用 提高性能的实用技巧 错误类型以及处理方式 错误的类型 分析程序错误 –语法错误 语法有问题 –逻辑错误 除 错误 类型不匹配 不正确输出 使用不正确的对象 处理无效的数据 编译错误 使用了不能被语言编译器识别 但ASP NET能识别的关键字或语句时发生的 错误 运行时错误 配置错误 nfig文件出错 错误的处理 使用验证控件 编程处理 –校验语句 校验(checked)和非校验(unchecked)语句–try catch finally tryblock catch(FormatException)response write( 格式错误 ); catch(OverflowException )response write( 溢出 ); catch(Exception ex)ex Message ToString();
一些常用的引发异常: FormatException 当参数格式不符合调用的方法的参数规范时引发的异常 ArithmeticException 因算术运算 类型转换或转换操作中的错误而引发的异常 OverflowException (继承ArithmeticException )在选中的上下文中所进行的算术运算 类型转换或转换操作导致溢出时引发的异常 DivideByZeroException (继承ArithmeticException )试图用零除整数值或十进制数值时引发的异常 –Page_Error Page对象的Error事件 使用模板void Page_Error(object sender EventArgse) Response Write( 发生错误: +Server GetLastError() ToString()); Server ClearError(); –Application_Error 在应用程序配置文件中 为应用程序执行的声明性错误处理 Appliation对象的Error事件 应用程序中任何页面抛出异常都会调用 在global asax中 形式为 void Application_Error(object sender EventArgse)
DEMO 编写到windows错误日志 把错误发送邮件到管理员 利用配置文件处理错误 ASP NET同以前的ASP一样 当服务器上发生了一个运 行时间或编译时间错误时 就会生成一个 错误页面 但是与ASP不同 ASP NET格外关注的是 要确保在默 认状态下 不会因为这个错误的发生而泄露 安全 信息
<system web> <customErrorsdefaultRedirect= url mode= RemoteOn ly > <errorstatusCode= code redirect= url ></error> </customErrors> </system web>
议程 错误类型以及处理方式 提高数据访问性能 服务器控件的使用 缓存的使用 提高性能的实用技巧 性能引言 是 –XmlDocumentLoadXML(stringstrFileID) // 加 载XML –boolCheckIDExisit(stringstrFileID stringstrID) //判断节点是否存在 还是 –boolCheckIDExisitByXml(string strXml stringstrID) //判断节点是否存在 –或boolCheckIDExisitByXml(XmlDocumentobjXml stringstrID) // 判断节点是否存在 逻辑设计 建议: 采用 层逻辑模型 – Pages ( aspx) and User Controls ( ascx) UI – Business and Data Access classes in \\bin dir – Data within a SQL Database via SPROCs 使用最佳的Data Provider ADO NET 可支持多个Provider –System Data SqlClient –System Data OracleClient –System Data OleDb –System Data Odbc 所有Provider的编程模型相同 –但是性能方面存在明显差异 建议 使用最佳Provider –在访问MSDE/SQL 时始终使用SqlClient –在访问Oracle 时始终使用OracleClient Data Provider测试 方案 –从SQL Northwinds 数据库中抽取 行 –<%= %> 表格格式化技术 衡量的三种技术(不同的Data Provider ) –传统ASP/ADO –ASP NET w/ System Data OleDb 提供商 –ASP NET w/ System Data SqlClient 提供商 传统 ASP/ ADO 带 OLEDB 的 ASP NET 带 SQL 的 ASP NET 请求/秒( P 服务) 数据性能测试 DataReaders 和DataSets DataReader –对查询的结果提供了单向读取的操作 –轻量快速–但在Reader为关闭之前始终处于连接状态 DataSet –非链接的数据访问方式 –内部使用DataReader用于获取数据 –在完成DataSet的获取后会自动关闭DataReader 如何选择? –依赖于您的应用 –般情况下 读取大量数据 对返回数据不做大量处理用 SqlDataReader 对返回数据大量处理用datset比较合 DataReader ?DataSet 通常情况下DataReader比 DataSet快 %!! ExecuteNonQuery和ExecuteScalar ExecuteNonQuery –对数据的更新不需要返回结果集 –由于不返回结果集可省掉网络数据传输 它仅仅返回受影响 的行数 如果只需更新数据用ExecuteNonQuery性能的开销 比较小 ExecuteScalar –它只返回结果集中第一行的第一列 使用ExecuteScalar 方 法从数据库中检索单个值(例如id号) –与使用ExecuteReader 方法 返回的数据执行生成单个值所 需的操作相比 此操作需要的代码较少 如何选择? –只需更新数据用ExecuteNonQuery 单个值的查询使用 ExecuteScalar 数据的绑定DataBinder 一般的绑定方法<%# DataBinder Eval(Container DataItem 字段名 ) %>用DataBinder eval 绑定不必关心数据来源 (Dataread或dataset) 不必关心数据的类型eval 会把这个数据对象转换为一个字符串 在底层绑 定做了很多工作 使用了反射性能 正因为使用 方便了 但却影响了数据性能 直接转换成DataRowView的话 将会给性能带来 很大提升 <@% ((DataRowView)Container DataItem)[ 字 段名 ] %> 连接池 ADO NET 拥有内置的连接池 –自动缓存/重新使用连接 –不必为此编写任何代码 代码建议 – 在后期打开代码中的连接 然后在早期将其 关闭 –切勿长时间保持连接状态 –完成后应立即显示地关闭数据库连接 以将其返 回至池中 连接池 优化提示 –不同的连接字符串可以生成多个不同的连接池 –在Web Config 中存储单个连接字符串 –使用ConfigurationSettings AppSettings 以在运 行时采用编程形式对其进行访问 始终应明确关闭数据连接 避免连接泄漏 –否则连接将在下一次垃圾收集之前保持打开状态 –泄露连接会显著降低性能 使用存储过程 建议将SPROC 用于数据存取 –通过DBA 进行更轻松的性能调试 –通过使用数据库事务处理避免出现分布事务成本 –有助于防止SQL 注入攻击 –有助于消除应用与数据库反复调用的成本 有趣的提示 –可以通过企业管理器来关闭动态SQL 支持 以强制使用 SPROC DEMO 使用连接池优化程序 议程 错误类型以及处理方式 提高数据访问性能 服务器控件的使用 缓存的使用 提高性能的实用技巧
cha138/Article/program/net/201311/11632相关参考
优化ASP.NET应用程序性能研究与探讨 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 网站的性
ASP.NET中的HTTP模块和处理程序(上) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 介
ASP.NET中的HTTP模块和处理程序(下) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在
知识大全 ASP.NET入门教程 1.3.9 错误和异常处理
ASP.NET入门教程1.3.9错误和异常处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
ASP.NET程序是如何处理文件编码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! DotNet
ASP.NET页面错误处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
ASP.NET整个Postback程序处理的过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET的错误处理机制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 对于一个Web应用程
ASP.NET中的错误处理支持 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASPNET具有一
ASP.NET自定义错误处理页面的添加 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 自定义错误