本文介紹兩種ASP.Net項目中全域變數使用的方式,分別是web.config檔案 和 global.asax檔案。以下分別說明:
在web.config檔案中定義
——設定:
在web.config檔案裡添加關鍵字key是通過<appSettings>標記來實現的,但是appSettings標記通常放在<system.web>.....</system.web>標記外面。例:
<configration>
<appSettings>
<add key="connString1" value="server=localhost;user id=sa;pwd=;database=資料庫名字"/>
<add key="connString2" value="provider=Microsoft.Jet.OleDb.4.0;Data Source=資料庫路徑"/>
</appSettings>
<system.web>
</system.web>
</configration>
——讀取:
要 在代碼中引用這些資料庫連接字串,需要先添加對System.ConFiguration名字空間的引用,在這個名字空間中含有 ConfigurationSettings類,其靜態方法ConfigurationSettings.AppSettings屬性可擷取 web.config檔案中<appSettings>節的設定,讀到的值為string型。例如:
using System.Configuration;
string conn1 = ConfigurationSettings.AppSettings["connString1"];
string conn2 = ConfigurationSettings.AppSettings["connString2"];
SQLConnection myConn1 = new SQLConnection(conn1);
OleDbConnection myConn2 = new OleDbConnection(conn2);
在VS2005中, ConfigurationSettings.AppSettings 可以換成 ConfigurationManager.AppSettings
在global.asax中定義
——設定:
方法1、在global.asax中使用application對象定義的靜態變數;
代碼如下:
<%@ Application Classname="yourname"%>
<Script Language="c#" runat=server>
public static float somevar=somevalue;
</Script>
方法2、在Global檔案裡中添加
protected void Session_Start(Object sender, EventArgs e)
{
Session["sqlConnectionString"] = "uid=Username;pwd=password;database=MyTest;server=Localhost;Connect Timeout=300";
}
——讀取:
在代碼中的應用:
String strConnection=Session["sqlConnectionString"].ToString();
sqlConnection_1=new SqlConnection(strConnection);
web.config和global.ascx之外的方法
在一個通用類中定義static靜態變數;
public static int i;