Get Session variable inside method

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using MySql.Data.MySqlClient; using MySql.Data; using System.Web.Security; using System.Data; using System.IO; using SurelyKnown.Core; using System.Configuration; using System.Collections; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Text; using System.Xml; using System.Windows.Forms; public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } [System.Web.Services.WebMethod(EnableSession = true)] public static string[] GetCompletionList(string prefixText, int count, string contextKey) { int newOrgID = Convert.ToInt32(Session["uOrgID"].ToString()); 

Error on the last line

  CS0120: An object reference is required for the non-static field, method, or property 'System.Web.UI.Page.Session.get' 

What to do to get the session value inside the method.

+4
source share
2 answers

Use HttpContext.Current.Session

 int newOrgID=0; if(HttpContext.Current.Session["uOrgID"]!=null) { int.TryParse(HttpContext.Current.Session["uOrgID"].ToString(),out newOrgID); } 
+8
source

check the "null" box before use, for example:

 if(Session["uOrgID"] != null) { int newOrgID = Convert.ToInt32(Session["uOrgID"].ToString()); } 

You should also read this article to really understand how to access session state from web services (including web and page methods): Using ASP.NET session state in web services

0
source

All Articles