Asp.Net性能优化
(一).选择会话状态存储方式
在Webconfig文件配置:
<sessionState mode="???" stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false" timeout="20"/>
Asp.net有三种方式存储会话状态信息:
1. 存储在进程中: 属性mode = InProc
特点: 具有最佳的性能,速度最快,但不能跨多台服务器存储共享.
2. 存储在状态服务器中: 属性mode = "StateServer"
特点: 当需要跨服务器维护用户会话信息时,使用此方法。
但是信息存储在状态服务器上,一旦状态服务器出现故障,信息将丢失
3. 存储在Sql Server中: 属性mode="SqlServer"
特点: 工作负载会变大,但信息不会丢失.
补充一点:
I. 由于某些页面不需要会话状态,则可以将会话状态禁用:
代码如下: <%@ Page EnableSessionState="false" %>
II.如果页面需要访问会话变量但不允许修改它们,可以设置页面会话状态为只读:
代码如下: <%@ Page EnableSessionState="false" %>
使用时可以根据具体情况选择某种方式
(二).使用Page.IsPostBack
Page.IsPostBack表示是否是从客户端返回的. 初次运行时,不是从客户端返回,它的值
为false,当触发页面上的事件或刷新页面时,Page.IsPostBack由于是回发的,值变为
相关文档:
在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......
很多人都向在服务器端调用客户端的函数来操作,也就是在asp中调用javascript脚本中已经定义好的脚本函数。经过研究,发现了一些勉强的方法。
1. 用Response.Write方法写入脚本
比如在你单击按钮后,先操作数据库,完了后显示已经完成,可以在最后想调用的地方写上
Response.Write("<script type='text/javascrip ......
ASP.NET 3.5中6个内置的数据源控件分别用于特定类型的数据访问。
SqlDataSource 控件 允许访问支持ADO.NET数据提供程序的所有数据源。该控件默认可以访问ODBC、OLE DB、SQL Server、Orale和SQL Server CE 提供程序
LinqDataSource 控件 可以使用LINQ 查询访问不同类型的数据对象
O ......
在开发中经常会遇到这样的情况,在部署程序时为了保密起见并不将源代码随项目一同发布,而我们开发时的环境与部署环境可能不一致(比如数据库不一样),如果在代码中保存这些配置这些信息部署时需要到用户那里更改代码再重新编译,这种部署方式非常麻烦。
在.net中提供了一种便捷的保存项目配置信息的办法,那就是利用配置 ......
上下文对象
===================================
一种对象,它当MTS服务器组件在一个活动中运行时跟踪该组件的属性,包括被跟踪组件的激活状态、安全信息、事务处理状态(如果存在)等。这样就免除了让组件去跟踪其自身状态。
上下文对象是web服务器上基于web应用的一个背景环境对象,上下文对象提供了一个同一web应用 ......