我有webservice,提供给用户。用户必须登录才能使用它。 我的问题是当用户通过webservice上的WSLogin登录时,我想保存会话以便下次检查。
[WebMethod(EnableSession = true)]
public string WSLogin(string username, string password)
{
// do something
string sID = Guid.NewGuid().ToString();
Session.Add("SID", sID); // save session
return sID; // return to user to check next time
}
[WebMethod(EnableSession = true)]
public string CallSomethingService(string sID)
{
string curSID = Session["SID"].ToString() // error, Object reference not set to an instance of an object.
// do some thing
}
我动态调用webservice。 感谢所有帮助
答案 0 :(得分:0)
而不是:
Session.Add("SID", sID);
使用它:
HttpContext.Current.Session["SID"] = sSid;
而不是这个:
string curSID = Session["SID"].ToString();
使用它:
string curSID = HttpContext.Current.Session["SID"] as string;
并确保在使用声明中包含此内容:
using System.Web.SessionState;