C# - Response.end Method Causing Session Variable To Expire?
Mar 1, 2011
I am storing the returned sql resultant rows in a session variable ... so that I need not to query again and again
Session["ds"] = datasetname;
Everything is fine but when I am doing export to excel ... where at last after the export is completed I am calling the method in try/catch
try {
Response.End()
}
catch {}
But due to this, my session variable (ds) is getting expired and when I am using it next there is no rows and hence my page displays no data.
I tried going through internet and found that this is a bug it seems as identified by Microsoft and they have provided a hotfix for this but in Windows Vista .... I am running on XP.
Using this code i want to show an modal pop up to the user that "your session will be expired within 5 minutes , Click here [BUTTON] to reset your session" , here's my code :
<asp:Button ID="btnReset" Text="Reset" runat="server" OnClick="ResetSession" /> <br /> Your Session will expire in <span id = "seconds"></span> seconds. <script type="text/javascript"> function SessionExpireAlert(timeout) { var seconds = timeout / 1000; seconds--;
Which gave me a compile error so i dont know if the user checked his code before posting. And the other was to set the expire date to 1 day ago which my gut says is wrong. How do i do this?
I am using session variables for login and logout user . When user Signed In then i am create a seesion ["Log"] = 1 . And when user click on logout button i am use the session.RemoveAll() method .
But it does not working properly .After logout button when i click on the back button on browser then user automatically logged in and redirect to previous page .
Currently in an .aspx file, I am storing a value (filename that was created in that session) in an hidden text box. When the user clicks on the "Print" labeled Hyperlink control, it opens the file that was stored in the hidden text box control. But when the user goes to different screen (in the same session), I loose the filename value that is stored in the hidden text box control. So I would like to store the filename variable in a session variable. So that if the user leaves this .aspx file and comes back to this .aspx file I can load the value into the hidden text box from the session variable.
I need to redirect my application when there is no action for three minutes. I used session timed out period in the web config file. But When I am working with my content page its not working, because my content page is inside a update panel which is in the master page, so the content page not getting refresh at all, so the session expires.
I am using session on my online application if im wrong let me know when i wana remove session i will put this code
session.remove("userid")
and also im using session for user login when user login on that time i have create one session("user_rights")
if session("user_rights") is nothing then Response.Redirect("Logout.aspx") end if
but some time on working time session automatically or i dont know exactly session expire and on running time it go out i mean logout...and at that time if im doing something on my application all will be lose how can i make strong my session ... here is web.config code
i am having login.aspx as start up page (In Admin Panel) . In login Page i am giving a value to session and i am checking that value in all pages page_load event, if expires it will redirect to login page. Consider if that session doesn't expire, at that time if i try to enter into page inside Admin Panel directly from website for first time, it should redirect to login.aspx but it will take me to that particular page (Since Session doesn't expire).
I am using the Forms Authentication in my application.
I have a master page and I have a default content page in the defaultUrl of the Forms Authentication. I am facing an issue: when the session expires the images and the css of the Master Page are not available.
How can I make the images available in the master page after the session expire?
There is one master page in my application. Left side it display menu and right side there is a Iframe where page will be displayed when user click on menu. so entire page will not be refreshed only Iframe will be refreshed.
Everything is working fine for me but I am facing problem when session expire, my loginUrl page display inside Iframe so user is able to see left menu.
I am thinkin that LoginPage should be display in main screen instead of Iframe.
if my website when session of user expire i get the following error.
Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.
I need to show how to show countdownwhen the user session expire? if users session expire means i need to redirct user to login page.. How can i achieve this?
If at any time i m login in that time if i want to logout from this page then i'll used response.redirect() but that time how i'll expire the session means no used after logout form a page without login...
i make a web site using frame but session is expire message is
Object reference not set to an instance of an object Description: HTTP 500. Error processing request.
Stack Trace:
System.NullReferenceException: Object reference not set to an instance of an object at System.Web.UI.Control.OnLoad (System.EventArgs e) [0x00000] in <filename unknown>:0 at System.Web.UI.Control.LoadRecursive () [0x00000] in <filename unknown>:0 at System.Web.UI.Page.ProcessLoad () [0x00000] in <filename unknown>:0 at System.Web.UI.Page.ProcessPostData () [0x00000] in <filename unknown>:0 at System.Web.UI.Page.InternalProcessRequest () [0x00000] in <filename unknown>:0 at System.Web.UI.Page.ProcessRequest (System.Web.HttpContext context) [0x00000] in <filename unknown>:0 My Web Config file is<configuration> <!-- store the database connection info here --> <appSettings> <add key="sBook_StoreDBConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:Program FilesCodeChargeExamplesBookStoreBookStore_MSAccess.mdb;Persist Security Info=False" /> </appSettings> <system.web> <httpRuntime executionTimeout="1000" maxRequestLength="2000000" /> <!-- DYNAMIC DEBUG COMPILATION Set compilation debug="true" to enable ASPX debugging. Otherwise, setting this value to false will improve runtime performance of this application. Set compilation debug="true" to insert debugging symbols (.pdb information) into the compiled page. Because this creates a larger file that executes more slowly, you should set this value to true only when debugging and to false at all other times. For more information, refer to the documentation about debugging ASP.NET files. --> <compilation defaultLanguage="c#" debug="true" /> <!-- CUSTOM ERROR MESSAGES Set mode="on" or "remoteonly" to enable custom error messages, "off" to disable. Add <error> tags for each of the errors you want to handle. --> <customErrors mode="Off"/> <!--<customErrors mode="On" defaultRedirect="Login.aspx"> <error statusCode="500" redirect="Login.aspx"/> <error statusCode="404" redirect="Login.aspx"/> <error statusCode="403" redirect="Login.aspx"/></customErrors> --> <!-- AUTHENTICATION This section sets the authentication policies of the application. Possible modes are "Windows", "Forms", "Passport" and "None" --> <authentication mode="None" /> <!-- APPLICATION-LEVEL TRACE LOGGING Application-level tracing enables trace log output for every page within an application. Set trace enabled="true" to enable application trace logging. If pageOutput="true", the trace information will be displayed at the bottom of each page. Otherwise, you can view the application trace log by browsing the "trace.axd" page from your web application root. --> <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" /> <!-- SESSION STATE SETTINGS By default ASP .NET uses cookies to identify which requests belong to a particular session. If cookies are not available, a session can be tracked by adding a session identifier to the URL. To disable cookies, set sessionState cookieless="true". --> <sessionState mode="InProc" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="60" /> <!-- GLOBALIZATION This section sets the globalization settings of the application. --> <globalization requestEncoding="utf-8" responseEncoding="utf-8" /> </system.web> <connectionStrings> <add name="mydb" connectionString="Server=localhost;User=SYSDBA;Password=datacenter;Database=/opt/db/erp2.fdb;Min Pool Size=5;Max Pool Size=60;Connect Timeout=30" providerName="FirebirdSql.Web.Providers" /> <add name="mydb2" connectionString="Server=localhost;User=blackberry;Password=acgmkRMS;Database=/opt/db/pwd.fdb;Min Pool Size=5;Max Pool Size=60;Connect Timeout=30" providerName="FirebirdSql.Web.Providers" /> </connectionStrings></configuration>