1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > ASP.NET 例程完全代码版(5)——通过web.config配置数据库连接池

ASP.NET 例程完全代码版(5)——通过web.config配置数据库连接池

时间:2018-11-07 09:35:28

相关推荐

ASP.NET 例程完全代码版(5)——通过web.config配置数据库连接池

下面讲述在VS中如何使用web.config配置文件,进行数据库的连接操作,并启用SQL Server数据库的连接池,相信对于已经熟悉VS的、刚进入05的环境的朋友会有些帮助。

首先,在05中,默认情况下,并没有自动为应用程序生成web.config,当第一次运行应用程序的时候,会出现Debuging Not Enabled的提示,点击OK按钮,会为应用程序生成一个web.config配置文件。在<configuration>元素中,已经有了如下两个节点元素:

<appSettings/>

<connectionStrings/>

03中,数据库的连接配置是在<appSettings/>中通过add key=" connStr " value = " "来指定的;05中,"connectionStrings 元素为 应用程序和 功能指定数据库连接字符串(名称/值对的形式)的集合。在以前的 版本中,连接字符串存储在 appSettings 中。在 2.0 中,如会话、成员资格、个性化设置和角色管理器等功能均依赖于存储在 connectionStrings 元素中的连接字符串。您还可以使用 connectionStrings 元素来存储您自己的应用程序的连接字符串。"——SDK。

可以将<connectionStrings/>用下面的代码替换:

<connectionStrings>

<add

name="CONNSTRING"

connectionString="data source =localhost;uid =sa;pwd=;database=Book;pooling=true"/> //注意:pooling也可以在后面通过代码指定

</connectionStrings> 应用程序中这样读取即可:

private readonly string SQLCONNECTIONSTRING = ConfigurationManager.ConnectionStrings["CONNSTRING"].ConnectionString;

下面是测试的例子,当然基本的连接数据库的知识要知道。

建立一个DbPooling.aspx,代码如下: using System;

using System.Data;

using System.Data.SqlClient;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls; public partial class DbPooling : System.Web.UI.Page

{

private readonly string SQLCONNECTIONSTRING = ConfigurationManager.ConnectionStrings["CONNSTRING"].ConnectionString;

protected void Page_Load(object sender, EventArgs e)

{

if (!Page.IsPostBack)

{

ConnectionObject();

DataSet ds = null;

for (int i = 0; i < 1000; i++)

{

ds = GetCustomers(true); //true——配置连接池

}

GridView1.DataSource = ds; //03中的DataGrid现在是GridView

GridView1.DataBind();

}

}

private DataSet GetCustomers(bool nStartPooling)

{

string connStr = SQLCONNECTIONSTRING + "Pooling=" + nStartPooling.ToString(); //通过传递的bool指定是否配置连接池

Label1.Text = connStr;

SqlConnection conn = new SqlConnection(connStr);

string cmdText = "SELECT Top 10 * FROM Book";

SqlDataAdapter da = new SqlDataAdapter(cmdText, conn);

conn.Open();

DataSet ds = new DataSet();

da.Fill(ds);

conn.Close();

return ds;

} private void ConnectionObject()

{

SqlConnection conn = new SqlConnection(SQLCONNECTIONSTRING);

string cmdText = "SELECT Count(*) as BookCount FROM Book";

SqlCommand comm = new SqlCommand(cmdText, conn);

conn.Open(); int result = (int)comm.ExecuteScalar();

Response.Write("Book表的记录数为:" + result.ToString());

Response.Write("<br>SQL Server数据库的连接状态为:" + conn.State.ToString());

Response.Write("<br>SQL Server数据库连接的通信包的大小为:" + conn.PacketSize.ToString());

Response.Write("<br>SQL Server数据库连接的数据库为:" + conn.Database.ToString());

Response.Write("<br>SQL Server数据库连接的工作站点:" + conn.WorkstationId.ToString());

conn.Close();

Response.Write("<br>SQL Server数据库的连接状态:" + conn.State.ToString()); }

}

对于刚刚开始熟悉 VS 的朋友来说,很多细节的东西要与03区别,当然,查一下SDK很容易找到异同和解决方法,本文小例针对在05中初次配置web.config遇到的小麻烦做一总结,详细的 configuration 操作可以参考SDK了,呵呵。

本文转自 august 51CTO博客,原文链接:/august/6971,如需转载请自行联系原作者

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。