-1
我需要一個全局已知的Web服務應用程序變量。 由於是基於網頁的,所以全局聲明的變量的值在再次調用時保持不變。Web服務應用程序的全局已知變量
我也嘗試在web方法上使用Session,但在調用另一個方法時它被清除。
這是一個代碼示例。
UI部分
private void btnOKLogIn_Click(object sender, EventArgs e)
{
CaprepWS caprepWS = new CaprepWS();
caprepWS.setDatabase(Program.isProduction);
string usrInfo = caprepWS.getUserInfo(tbUserName.Text.ToUpper().Trim());
}
Web服務部分
[WebMethod(Description = "Database switcher", EnableSession = true)]
public void setDatabase(bool isProduction)
{
Session["isProduction"] = isProduction;
}
[WebMethod(Description = "Get User Info", EnableSession = true)]
public string getUserInfo(string username)
{
string wsResult = null;
DataAccess sql = new DataAccess((bool)Session["isProduction"]);
try
{
sql.OpenConn();
wsResult = sql.Scalar(
sql.spReader(sqlRoot + "spGetUserInfo.SQL")
, username);
}
catch (Exception ex)
{
errorWritter(ex.Message);
wsResult = null;
}
finally
{
sql.Dispose();
}
return wsResult;
}
但即使我使用的UI相同的實例,會議上沒有其他已知的(在getUserInfo)方法,它是空的。
事情是我避免將這個變量放在每個Web方法上作爲我的Web服務的一個參數,這就是爲什麼我需要它在全局聲明。
如何回合使用靜態變量 – rajeemcariazo
靜態變量的作品。謝謝! –