0
我使用這種方法獲取我的數據庫對象PetaPoco:在web.config中PetaPoco KeepConnectionAlive使用
internal static Database GetCurrentDatabase()
{
if (HttpContext.Current == null)
{
if (Thread.GetData(Thread.GetNamedDataSlot(_databaseKey)) != null)
return Thread.GetData(Thread.GetNamedDataSlot(_databaseKey)) as Database;
else
{
var database = new Database("testDB");
database.KeepConnectionAlive = true;
database.EnableAutoSelect = true;
database.CommandTimeout = 180;
Thread.SetData(Thread.GetNamedDataSlot(_databaseKey), database);
return database;
}
}
else
{
if (HttpContext.Current.Items.Contains(_databaseKey))
return HttpContext.Current.Items[_databaseKey] as Database;
else
{
Database database = new Database("testDB");
database.EnableAutoSelect = true;
database.CommandTimeout = 180;
database.KeepConnectionAlive = true;
HttpContext.Current.Items[_databaseKey] = database;
return database;
}
}
}
我的連接字符串:
<add name="testDB" connectionString="Data Source=192.168.10.10;Initial Catalog=testDB;User Id=test;Password=test;pooling='true'; Max Pool Size=200"
providerName="System.Data.SqlClient" />
問題已經啓用了連接池。我是否必須將KeepConnectionAlive
設置爲true或false?這個屬性有什麼用途?
對不起,什麼樣的麻煩呢? –
就像爲同一個記錄集共享相同的Conn錯誤一樣 –
對不起,你能解釋一下這是什麼意思嗎?我已經把它關掉了,但我需要了解你的寶貴意見是什麼意思。 –