-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
静态变量的作品。谢谢! –