質問
これは奇妙なものですが、うまくいけば、誰かがここに私のアイデアを与えることができます。私は私のアプリでSession_Start
のGlobal.asax
にセッションにいくつかの値を入れています。 OnInit
私のベースページのはSession
と呼ばれ、それらのenableSessionState
変数のいずれかを使用しようとします直後ます。
奇妙な部分が時々あり、それは動作しますが、その後、NOの変更後に私は、このエラーを与えて起動します。
「セッション状態はときにのみ使用することができます
true
Page
に設定されています、 コンフィギュレーションファイルまたはのいずれかでSystem.Web.SessionStateModule
ディレクティブ。またしてください 確実に<configuration>\<system.web>\<httpModules>
か カスタムセッション状態モジュールです に含まweb.config
アプリケーション内のセクション コンフィギュレーション。 "
私が見て、enableSessionState="true"
でセッションを有効にするすべてのさまざまな方法を見つけること見てきました。ここではそれが今のように見えるものです。
<system.web>
...
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/>
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpHandlers>
<xhtmlConformance mode="Legacy"/>
<pages>
<!-- enableSessionState="true" autoEventWireup="true" enableViewState="true" enableViewStateMac="true" -->
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</controls>
</pages>
<httpModules>
<!--<add name="Session" type="System.Web.SessionState.SessionStateModule"/>-->
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
</system.web>
あなたは、彼らが前にそこに決してなかったし、それが常に働いていたので、私はいくつかのものは、コメントアウト特に<add name="Session" type="System.Web.SessionState.SessionStateModule"/>
と<=>ている見ることができます。しかし、私はそれだけで違いはありません、どちらか一方が有効になって、両方が有効になって彼らとそれを試してみた。
このは何年も生産されているアプリです、私はおそらくそれに「タイトルバー」ページを追加し、2.0から3.5にアップグレードされる最大のうち、軽微な変更を行っています。それはでは動作しませんでしたので、私は、pageディレクティブに<=>を追加しようとしていない<=>それがページ上で直接動作しますなぜ私は見ていない、と私はもう汚れにアプリを憎みますまたはセッションを可能にするために無駄にしようともう時間を無駄にします。
誰でも他のアイデアがありますか?
おかげで、 ジェフ
解決
BREAKPOINTS!
私は、ベースページのコンストラクタメソッドにブレークポイントを設定し、メインページ、などのsession_startとのOnInitを持っていました。同僚は、デバッガですべてのブレークポイントを削除し、問題がdissappeared!
うわ!
他のヒント
私はいくつかのセッションの値を設定する変数インスタンス化して、ページのロード時にブレークポイントと同じことを経験します。 Windows 7の/ VS2010を実行しています。私はブレークポイントを無効にすると、それはその後、セッション状態をロードすることができます。