《Asp.Net 2.0 揭秘》读书笔记(十六)
2009-01-11 16:46
411 查看
创建数据访问组件
*SystemDataSqlServerCe:SQL SERVER MOBILE EDITION;
*在获取数据的时候建议使用DataReader
*SQL 延迟函数:WAITFOR DELAY ‘0:0:03’;
*记得一本书里说过一个函数执行的过程一般小于一纳秒;
*使用sqlconnection默认是代开连接缓冲池的,默认的大小是100;
*conn.close():不是真的销毁连接而是放回到连接池中;
*列出当前所有连接到该数据库的用户连接
*DataReader使用的时候当读取输出参数时得先关闭reader再读取,不然会出现错误,因为reader在读取的时候会自动关闭;
*数据库技术的存取效率(msdn文章):Performance Comparison:DataAccess Techniques;
*使用CommandBehavior.CloseConnection的最大缺点是阻碍使用者添加任何异常代码;
*在一条命令中执行多条命令可以提高效率,减少数据库连接;
*reader[“ColumName”]:获取此列的值返回obj类型
*当command返回多个结果集时通过NextResult()到下个结果集;
*MARS:Multiple Active Resultsets,多活动结果集;
*上面那个东西就是对一个连接对象绑定多个Command对象,同时使用,但是必须对连接字符串中包含“MultipleActiveResultSets=True”;
*每个请求asp.net都会分配线程池中的一个新的线程用来执行,如果线程池中没有线程可用就会将新的请求放入队列中,如果队列太大服务器对新的请求就会返回503错误,表示服务器太忙;使用异步的数据层的时候可以对请求性能有所提升,因为当请求未返回的时候当前线程会先释放回请求线程池,数据取出后再申请新的线程继续当前的请求;
*可以使用Web配置文件(Web.config)中的HttpRuntime节点来配置Asp.net程序的线程池。通过修改appRequestQueueLimit、minLocalRequestFreeThreads和minFreeThreads属性,控制在asp.net framework的队列放弃和输出错误信息签可以处理多少请求。
*使用异步的Ado.net的方法时,连接字符串必须添加AsynchronousProcessing=true,来启用数据库的异步功能;
*对请求的页面设置异步才能实现上面的性能提升(
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
)
*具体的例子 Page 576;
*executeInParallel:是并发执行还是并行执行,两者的区别是在微观上并行也是同时执行;
*替代Page.RegisterAsyncTask():AddOnPreRenderCompleteAsync();
*启用CLR(通用语言运行时)集成
数据库命令(查询分析器):
sp_configure ‘clr enabled’ ,1
RECONFIGURE
无视出现的警告
*使用SQL SERVER数据库对象 Page 578;
*注册或者注销程序集和用户自定义类型:
CREATE ASSEMBLEY DBMovie FROM ‘C:\DBMovie.dll’
DROP Assembly DBMovie
SELECT * FROM sys.assembles \\查看当前数据库的所有程序集;
CREATE TYPE dbo.DBMovie EXTERNAL NAME DBMmovie.DBMovie
DROP TYPE DBMovie
同理可以自定义创建存数过程
真的很强大,不过暂时不知道这样用的好处,还需要时间的提炼啊
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
*SystemDataSqlServerCe:SQL SERVER MOBILE EDITION;
*在获取数据的时候建议使用DataReader
*SQL 延迟函数:WAITFOR DELAY ‘0:0:03’;
*记得一本书里说过一个函数执行的过程一般小于一纳秒;
*使用sqlconnection默认是代开连接缓冲池的,默认的大小是100;
*conn.close():不是真的销毁连接而是放回到连接池中;
*列出当前所有连接到该数据库的用户连接
SQL CODE:SELECT * FROMmaster ..sysprocesses WHERE hostname<>''
*DataReader使用的时候当读取输出参数时得先关闭reader再读取,不然会出现错误,因为reader在读取的时候会自动关闭;
*数据库技术的存取效率(msdn文章):Performance Comparison:DataAccess Techniques;
*使用CommandBehavior.CloseConnection的最大缺点是阻碍使用者添加任何异常代码;
*在一条命令中执行多条命令可以提高效率,减少数据库连接;
*reader[“ColumName”]:获取此列的值返回obj类型
*当command返回多个结果集时通过NextResult()到下个结果集;
*MARS:Multiple Active Resultsets,多活动结果集;
*上面那个东西就是对一个连接对象绑定多个Command对象,同时使用,但是必须对连接字符串中包含“MultipleActiveResultSets=True”;
*每个请求asp.net都会分配线程池中的一个新的线程用来执行,如果线程池中没有线程可用就会将新的请求放入队列中,如果队列太大服务器对新的请求就会返回503错误,表示服务器太忙;使用异步的数据层的时候可以对请求性能有所提升,因为当请求未返回的时候当前线程会先释放回请求线程池,数据取出后再申请新的线程继续当前的请求;
*可以使用Web配置文件(Web.config)中的HttpRuntime节点来配置Asp.net程序的线程池。通过修改appRequestQueueLimit、minLocalRequestFreeThreads和minFreeThreads属性,控制在asp.net framework的队列放弃和输出错误信息签可以处理多少请求。
*使用异步的Ado.net的方法时,连接字符串必须添加AsynchronousProcessing=true,来启用数据库的异步功能;
*对请求的页面设置异步才能实现上面的性能提升(
<%@ Page Async="true" AsyncTimeout="8"%>
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
)
*具体的例子 Page 576;
*executeInParallel:是并发执行还是并行执行,两者的区别是在微观上并行也是同时执行;
*替代Page.RegisterAsyncTask():AddOnPreRenderCompleteAsync();
*启用CLR(通用语言运行时)集成
数据库命令(查询分析器):
sp_configure ‘clr enabled’ ,1
RECONFIGURE
无视出现的警告
*使用SQL SERVER数据库对象 Page 578;
*注册或者注销程序集和用户自定义类型:
CREATE ASSEMBLEY DBMovie FROM ‘C:\DBMovie.dll’
DROP Assembly DBMovie
SELECT * FROM sys.assembles \\查看当前数据库的所有程序集;
CREATE TYPE dbo.DBMovie EXTERNAL NAME DBMmovie.DBMovie
DROP TYPE DBMovie
同理可以自定义创建存数过程
真的很强大,不过暂时不知道这样用的好处,还需要时间的提炼啊
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
相关文章推荐
- asp.net 2.0揭秘读书笔记二:使用Rich控件
- 《Asp.Net 2.0 揭秘》读书笔记(二)
- 《Asp.Net 2.0 揭秘》读书笔记(十七)
- 《Asp.Net 2.0 揭秘》读书笔记(三)
- 《Asp.Net 2.0 揭秘》读书笔记(十二)
- 《Asp.Net 2.0 揭秘》读书笔记(十五)
- ASP.NET 2.0揭秘读书笔记七——使用用户配置文件Profile
- 《Asp.Net 2.0 揭秘》读书笔记(十三)
- 《Asp.Net 2.0 揭秘》读书笔记(十八)
- 《Asp.Net 2.0 揭秘》读书笔记(五)
- asp.net 2.0揭秘读书笔记一:ASP.NET和.NET Framework
- 《Asp.Net 2.0 揭秘》读书笔记(四)
- 《Asp.Net 2.0 揭秘》读书笔记(六)
- asp.net 2.0揭秘读书笔记二:使用Rich控件
- 《Asp.Net 2.0 揭秘》读书笔记(十一)
- 《Asp.Net 2.0 揭秘》读书笔记(十四)
- 《Asp.Net 2.0 揭秘》读书笔记(八)
- asp.net 2.0揭秘读书笔记一:ASP.NET和.NET Framework
- 《Asp.Net 2.0 揭秘》读书笔记(一)
- 《Asp.Net 2.0 揭秘》读书笔记(九)