When the user logs in, I want to store his userID in the session with
HttpContext.Current.Session["UserID"] = 2354; (this is just a hard-coded example)
Then, when I run a page method, if I do
var test = HttpContext.Current.Session["UserID"];
will the variable test hold the value I stored when he logged in?
If this is a correct way of doing it, how do I access the session when I receive a call from a page method? I want to put the test =… line in a page method to identify which user the request is coming from.
Thanks.
As has been already answered, yes – it should be fine, though if you sit on a page too long before calling a service using this method [WebMethod] it will fail. Best practice in that case is to check for the session and rebuild as necessary. The same is true for any other authentication to ensure that they haven’t become unsyncronized or expired.
(where Utilities.PopulateSessionVars is a method to rebuild the session data off of whatever you’re using to log in … which in my case is a PKI certificate)