使用会话调用动态Web服务

时间:2012-03-04 06:20:04

标签: c# asp.net web-services

我有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。 感谢所有帮助

1 个答案:

答案 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;