<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Powertips &#187; Session</title>
	<atom:link href="http://scripting.chaindb.com/category/dotnet/aspdotnet/session/feed/" rel="self" type="application/rss+xml" />
	<link>http://scripting.chaindb.com</link>
	<description>Programmer tips</description>
	<lastBuildDate>Thu, 22 Dec 2011 02:57:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Session state can only be used when enableSessionState is set to true</title>
		<link>http://scripting.chaindb.com/2010/07/08/session-state-can-only-be-used-when-enablesessionstate-is-set-to-true/</link>
		<comments>http://scripting.chaindb.com/2010/07/08/session-state-can-only-be-used-when-enablesessionstate-is-set-to-true/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 09:14:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Session]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[aspx]]></category>

		<guid isPermaLink="false">http://scripting.chaindb.com/?p=796</guid>
		<description><![CDATA[Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive. Please also make sure that System.Web.SessionStateModule or a custom session state module is included in the &#60;configuration&#62;\&#60;system.web&#62;\&#60;httpModules&#62; section in the application configuration. Description: An unhandled exception occurred during the execution of the current [...]]]></description>
			<content:encoded><![CDATA[<p><span></p>
<h2><em>Session state can only be used when enableSessionState is set to true,  either in a configuration file or in the Page directive. Please also make sure  that System.Web.SessionStateModule or a custom session state module is included  in the &lt;configuration&gt;\&lt;system.web&gt;\&lt;httpModules&gt; section in  the application configuration.</em></h2>
<p></span><span style="font-family: Arial, Helvetica, Geneva, SunSans-Regular, sans-serif;"><strong>Description: </strong>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.</p>
<p><strong>Exception Details: </strong>System.Web.HttpException: Session state can only be used when  enableSessionState is set to true, either in a configuration file or in the Page  directive. Please also make sure that System.Web.SessionStateModule or a custom  session state module is included in the  &lt;configuration&gt;\&lt;system.web&gt;\&lt;httpModules&gt; section in the  application configuration.</span></p>
<p><span style="font-family: Arial, Helvetica, Geneva, SunSans-Regular, sans-serif;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">This error usually occurs when you have declared an object variable public to the page and it access a Session variable, example:</span></span></p>
<p><span style="font-family: Arial, Helvetica, Geneva, SunSans-Regular, sans-serif;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"></p>
<p>Partial Class _Default</p>
<p>Inherits System.Web.UI.Page</p>
<p>Private m As New DBAccess(Session(&#8220;dbname&#8221;))</p>
<p>Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load</p>
<p>End Sub</p>
<p>End Class</p>
<div>just rewrite the above code to look like as below</div>
<div></div>
<div>
<div></div>
<div>Partial Class _Default</div>
<div>Inherits System.Web.UI.Page</div>
<div></div>
<div>Private m As DBAccess</div>
<div></div>
<div></div>
<div>Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load</div>
<div style="padding-left: 90px;">m =New DBAccess(Session(&#8220;dbname&#8221;))</div>
<div>End Sub</div>
<div>End Class</div>
<div></div>
</div>
<p></span></span><br />
<script type="text/javascript"><!--
google_ad_client = "pub-7360303176440694";
/* scripting_468x15, created 5/12/10 */
google_ad_slot = "3352621531";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://scripting.chaindb.com/2010/07/08/session-state-can-only-be-used-when-enablesessionstate-is-set-to-true/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to check if the ASP.Net Session has expired</title>
		<link>http://scripting.chaindb.com/2010/07/03/how-to-check-if-the-aspnet-session-has-expired/</link>
		<comments>http://scripting.chaindb.com/2010/07/03/how-to-check-if-the-aspnet-session-has-expired/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 03:46:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Session]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[aspx]]></category>

		<guid isPermaLink="false">http://scripting.chaindb.com/?p=789</guid>
		<description><![CDATA[protected void OnInit&#40;EventArgs e&#41;   &#123;        base.OnInit&#40;e&#41;; &#160; &#160;//It appears from testing that the Request and Response both share the     // same cookie collection.  If I set a cookie myself in the Reponse, it is     // also immediately visible to the Request collection.  This just means that    // since the ASP.Net_SessionID is set in the Session [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-7360303176440694";
/* scripting_468x15, created 5/12/10 */
google_ad_slot = "3352621531";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<div class="geshi no vbnet">
<ol>
<li class="li1">
<div class="de1">protected void OnInit<span class="br0">&#40;</span>EventArgs e<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">  <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">       base.<span class="me1">OnInit</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="sy0">//</span>It appears from testing that the Request <span class="kw5">and</span> Response both share the </div>
</li>
<li class="li1">
<div class="de1">   <span class="sy0">//</span> same cookie <span class="kw3">collection</span>.  <span class="kw6">If</span> I <span class="kw2">set</span> a cookie myself in the Reponse, it <span class="kw2">is</span> </div>
</li>
<li class="li1">
<div class="de1">   <span class="sy0">//</span> also immediately visible <span class="kw2">to</span> the Request <span class="kw3">collection</span>.  This just means that</div>
</li>
<li class="li1">
<div class="de1">   <span class="sy0">//</span> since the ASP.<span class="me1">Net_SessionID</span> <span class="kw2">is</span> <span class="kw2">set</span> in the Session HTTPModule <span class="br0">&#40;</span>which </div>
</li>
<li class="li1">
<div class="de1">   <span class="sy0">//</span> has already run<span class="br0">&#41;</span>, thatwe can<span class="co1">&#39;t use our own code to see if the cookie was </span></div>
</li>
<li class="li1">
<div class="de1">   <span class="sy0">//</span> actually sent by the agent <span class="kw6">with</span> the request using the <span class="kw3">collection</span>. <span class="me1">Check</span> <span class="kw6">if</span> </div>
</li>
<li class="li1">
<div class="de1">   <span class="sy0">//</span> the given page supports session or <span class="kw5">not</span> <span class="br0">&#40;</span>this tested <span class="kw2">as</span> reliable indicator</div>
</li>
<li class="li1">
<div class="de1">   <span class="sy0">//</span> <span class="kw6">if</span> EnableSessionState <span class="kw2">is</span> <span class="kw1">true</span><span class="br0">&#41;</span>, should <span class="kw5">not</span> care about a page that does </div>
</li>
<li class="li1">
<div class="de1">   <span class="sy0">//</span> <span class="kw5">not</span> need session</div>
</li>
<li class="li1">
<div class="de1">   <span class="kw6">if</span> <span class="br0">&#40;</span>Context.<span class="me1">Session</span> !<span class="sy0">=</span><span class="kw2">null</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">   <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">   <span class="sy0">//</span>Tested <span class="kw5">and</span> the IsNewSession <span class="kw2">is</span> more advanced <span class="kw2">then</span> simply checking <span class="kw6">if</span> </div>
</li>
<li class="li1">
<div class="de1">   <span class="sy0">//</span> a cookie <span class="kw2">is</span> present, it does take into account a session timeout, because</div>
</li>
<li class="li1">
<div class="de1">   <span class="sy0">//</span> I tested a timeout <span class="kw5">and</span> it did show <span class="kw2">as</span> a <span class="kw2">new</span> session</div>
</li>
<li class="li1">
<div class="de1">   <span class="kw6">if</span> <span class="br0">&#40;</span>Session.<span class="me1">IsNewSession</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">    <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">    &nbsp;  <span class="sy0">//</span> <span class="kw6">If</span> it says it <span class="kw2">is</span> a <span class="kw2">new</span> session, but an existing cookie exists, <span class="kw2">then</span> it must </div>
</li>
<li class="li1">
<div class="de1">    &nbsp; &nbsp;<span class="sy0">//</span> have timed out <span class="br0">&#40;</span>can<span class="co1">&#39;t use the cookie collection because even on first</span></div>
</li>
<li class="li1">
<div class="de1">   &nbsp; &nbsp; <span class="sy0">//</span> request it already contains the cookie <span class="br0">&#40;</span>request <span class="kw5">and</span> response</div>
</li>
<li class="li1">
<div class="de1">      &nbsp;<span class="sy0">//</span> seem <span class="kw2">to</span> share the <span class="kw3">collection</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">     string&lt;<span class="sy0">/</span>span&gt; szCookieHeader &lt;span&gt;<span class="sy0">=</span>&lt;<span class="sy0">/</span>span&gt; Request.<span class="me1">Headers</span><span class="br0">&#91;</span><span class="st0">&quot;Cookie&quot;</span><span class="br0">&#93;</span>;</div>
</li>
<li class="li1">
<div class="de1">    <span class="kw6">if</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="kw2">null</span>!<span class="sy0">=</span> szCookieHeader<span class="br0">&#41;</span> &nbsp;<span class="br0">&#40;</span>szCookieHeader.<span class="me1">IndexOf</span><span class="br0">&#40;</span><span class="st0">&quot;ASP.NET_SessionId&quot;</span><span class="br0">&#41;</span>&lt;<span class="sy0">=</span> <span class="nu0">0</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">     <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">      Response.<span class="me1">Redirect</span><span class="br0">&#40;</span><span class="st0">&quot;sessionTimeout.htm&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">     <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">    <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">   <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">  <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<pre><a title="How to check if the asp.net session has expired" href="http://aspalliance.com/520_Detecting_ASPNET_Session_Timeouts.2">Source</a></pre>
<p><script type="text/javascript"><!--
google_ad_client = "pub-7360303176440694";
/* scripting_Banner (468 x 60) */
google_ad_slot = "0537236933";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://scripting.chaindb.com/2010/07/03/how-to-check-if-the-aspnet-session-has-expired/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

