Я использую методы страницы ASP.NET с jQuery.... Как я получаю значение переменной сеанса в статическом методе в C#?
protected void Page_Load(object sender, EventArgs e)
{
Session["UserName"] = "Pandiya";
}
[WebMethod]
public static string GetName()
{
string s = Session["UserName"].ToString();
return s;
}
Когда я компилирую это, я получаю ошибку:
Ссылка на объект требуется для нестатического поля, метода или свойства ' System. Web. UI.Page. Session.get''
HttpContext.Current.Session ["..."]
HttpContext.Current
возвращает текущий ... ну, контекст Http; из которых вы можете получить доступ: Сеанс, Запрос, Ответ и т. д.
Если вы не меняли поток, вы можете использовать HttpContext.Current.Session
, как указано jwwishart.
HttpContext.Current
возвращает контекст, связанный с потоком. Очевидно, это означает, что вы не можете использовать его, например, если вы начали новый поток. Вам может также потребоваться учитывать гибкость потоков - запросы ASP.NET не всегда выполняются в одном потоке для всего запроса. Я полагаю , что контекст распространяется надлежащим образом, но об этом нужно помнить.