HttpHandlers / Modules :: Accessing Session - Get A Null Session Error?
Apr 26, 2010
So I've read quite a few posts about how to do this, and it's still getting me. I'm trying to control access to a directory, but I continue to get a null session error. I'm doing my check in PostAcquireRequestState
[Code]....no matter where I put this, my session always comes back null. I am using IRequireSessionState on the class as well. Am I pulling the context wrong?
I hope I am posting into the right area... I want to know if you can access a session variable from a HTTP Module in IIS 7. Here is the scenario, I want to access the session values (i.e. User Object) from a HTTP Module. I have read oodles and tried many things but to no avail. I guess the application uses Forms authentication to authorize a logon to the site. I want to monitor the url that is submitted... RAWUrl property and if they are going to a certain page I want to grab their user object from THEIR session and validate them for access to that page. I want to use a httpmodule for this. The long and short of this is "Can I get access to session variables from the request from the httpmodule code behind? If I can, could you beso kind as to show me a working sample... I have tried many permutations on this using httpapplication, context and so forth and I can't seem to get access to session variables that would belong to the users request. it this possible?
I have a module that subscribes to PreRequestHandlerExecute event, which uses the Session object. When i set the webconfig compilationdebug flag to false, the Session object is null when making requests to the web service. It works fine for .aspx requests, but only have problems for .asmx. When i set the debug flag to true everything works fine. I need to set this flag to false for production, but can't seem to get it work.I'm using II7 and the integrated pipeline, so this event will fire for all requests.
I have IReadOnlySessionState and IRequiresSessionState on my module but still httpApplication.Context.Session == null is this because these session state hasn't been created yet? is there a way around this?
I have read in many places that referencing IRequiresSessionState or IReadOnlySessionState will allow me access to the Session scoped variables from within the ProcessRequest method in an ASHX file.
I have implemented these changes, as follows, and I am unable to retrieve this data still, as the server returns a null object reference error:
using System; using System.Web; using System.Web.SessionState;[code]....
The error is most certainly specific to pulling data from the session, yet I am 100% certain that the session contains data in this key.
It shouldnt matter where I am storing the data (cookies, vs db, etc), right?
I am wanting to develop a URL Rewriting solution that handles postbacks and querystrings. I have found a couple of examples, but don't fully udnerstand the code and don't want to implement code I don't understand. Obviously at the heart of this issue is intercepting the raw url before the rewrite occurs, however, I am not sure exactly how to go about this.
I need to access image files (.jpg) on a server other than the web server my app runs on. I would like to use an httphandler to do this but I am unsure of the syntax to specify the path. I have tried mapping a drive on the web server to the file server but that didn't work. I have tried using a UNC path but that did not work either.
I have some cascading dropdownlists using the ajax toolkit I have a set up datatables in an xsd file. Then use these in a webservice to populate all the fields ... this all works great but now i need to pass an additional paramter to the first dropdownlist ( a date) but don't know how to do this? The method is below...
[Code]....
The other code is:
[Code]....
The first change would be to the tableadapter to add a param to the code i.e
AuditWebDS.TeamsDataTable teams = teamsAdapter.GetTeams(calldate);
but how do i get the calldate param to the webservice method... i tried a session variable but it comes up with session is null ? Is there another better way?
Can anyone explain to me why this first example works fine but the second, which would use a little less code and in my mind appears to achieve the same result, yet throws a null ref error?
This works ...
if (Session["sid"] == null || Session["sid"].ToString() == "") { // session is NOT valid. } else { // session is valid. }
This does not work?
if (String.IsNullOrEmpty(Session["sid"].ToString())) { // session is NOT valid. } else { // session is valid. }
I am using the following code to export a Gridview to an Excel spreadsheet. It works great until I select more than 10 records. At the 11th record I get an error on the line of code that reads....GridView1.RenderControl(hw)The error reads....RegisterForEventValidation can only be called during Render(); Description:An unhandled exception occurred during the execution of the current web request.Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.InvalidOperationException: RegisterForEventValidation can only be called during Render();Source Error:
i have doubt i have a .ashx file is in project called ShowImage.ashx,Currentely i am using this file for to show to show images in uploading area used to immediately show image after uploading it to the uploader on the web page
but now i want to pass the user id containg textbox value to this .ashx file(it is an int Value not string) how can ito send my textbox int values to .ashx file and receive the result
I have an ASP.NET application with 5 .ashx HTTPHandlers that implement RequiresSessionState or IReadOnlySessionState.Upon calling the first handler I create a variable and store it in the session.When I call the next HttpHandler the variable is not available in the session object.I am use context.Session.I have a global.asax where I retrieve the sessionId.Is there a way to preserve session variables across HttpHandlers or does each Handler get its own session?
I have a problem with a SessionVariable. I will explain what is happening:
1. From the default.aspx I send Session["LoginByAdmin"] = "Dummy"; and then redirect to this page where I have the code below. So the Page_Load sees that this Session["LoginByAdmin"] != null and enter this page. This works fine !
2. In the Page_Load, I later fill a ListBox1 with foldernames.
3. With Button1_Click1, I will now delete the choosen Folder in the ListBox1 wich works fine the first time and the ListBox updates the new existing folders in the ListBox. (I have wrapped this inside an updatepanel)
The problems comes now when I try to delete a choosen folder in the ListBox1 the second time in a row. When I select a Folder in the ListBox1 and now Press Button1, I will be redirected to "Default.aspx". This meens that this code is running: (That meens that Session["LoginByAdmin"] == null and I have not set this to null anywhere. This is my big question how this variable can be = null here?
if (Session["LoginByAdmin"] == null) Response.Redirect("Default.aspx"); break;
We are using cutesoft AJAX uploader. The uplodaer is implemented using HTTP Modules. Everything works well. The problem is that if the user clicks the upload button after being idle for long (means after session time out) the control throws and error.
I just want to know the work around to bypass this issue.
Note:- We are just using one web.config and two master pages (one for login and error pages and one for all other pages which are accessed after authentication). We have written the code to check the session timeout in oninit of the master page which is used by all the pages except (Login and Error pages).
Have not run the ASP.NET Development Server for a while. Today I copied a production website to my workstation and ran it with VS 2008. The following error message popped up. What is the problem with the ASP.NET development Server on my workstation? The website on the Production server still ran okay.Unable to make the session state request to the session state server. Please ensure that the ASP.NET State service is started and that the client and server ports are the same. If the server is on a remote machine, please ensure that it accepts remote requests by checking the value of KEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesaspnet_stateParametersAllowRemoteConnection. If the server is on the local machine, and if the before mentioned registry value does not exist or is set to 0, then the state server connection string must use either 'localhost' or '127.0.0.1' as the server name.
I'm working on converting the TailspinSpyworks shopping cart Joe Stagner wrote in C# to VB using an evaluation version of VS 2010. I have the following public function:
Public Function GetShoppingCartId() As [String] If Session(CartId) Is Nothing Then Session(CartId) = If(System.Web.HttpContext.Current.Request.IsAuthenticated, User.Identity.Name, Guid.NewGuid().ToString()) End If Return Session(CartId).ToString() End Function
For Session in Session(CartId) I'm etting the following error: 'Session' is not declared. It may be inaccessible due to its protection level. For User in User.Identity.Name I'm getting the same error: 'User' is not declared. It may be inaccessible due to its protection level
I've set up URL Rewriting per Scott Guthrie's guidance (Scott's blog - Approach 3: Using an HTTP module to perform extension-less url rewriting with IIS7) and I'm using Url Rewriter.
OK, so it was a piece of cake to setup and everything runs perfectly on the dev server (cassini). I was all excited and put it on the production server and it immediately choked - the site won't even load and instead gives a "500 internal server error"
Production server is a shared hosting environment running IIS 7 in integrated mode , ASP.net 3.5 and SSL.
I have another HTTP module installed called Security Switch , which I disabled to remove it from the equation. I don't think that affects anything since it was already running fine on the dev server and prod server, but I'm not 100% sure and wanted to throw it out there if that helps diagnose.
I've followed the setup instructions precisely, triple checked everything in web.config and I can't figure out what I'm doing wrong. I'm guessing it must be getting stuck in the IIS 7 pipeline somewhere. Can the SSL have something to do with it?
I've tried to implement two different solutions that use either and HttpModule or and HttpHandler to do URLRewriting for me. These work great on IIS 7 within my local development environment in Integrated and Classic modes. Currently the production server is running IIS 6.0 on a shared hosting environment. It appears that the request at least hits both the Module and Handler as the URL above redirect to the particular friendly url, but it doesn't redirect and hit hte Module or Handler again. Instead I get a 404 error for the friendly URL.
I read the solutioin for this error, at the following link :http://forums.asp.net/p/1046935/1576341.aspxbut I am still not clear what exactly causes the error. I have two doubts :1. Can anyone please elaborate a bit on this issue, with any example ????2. Is there any drawback of this approach ?