1

これは奇妙なものですが、うまくいけば誰かがここで私にアイデアを与えることができます. Session_Startアプリの のセッションにいくつかの値を入れていますGlobal.asaxSession_Start私のベースページOnInitが呼び出され、それらのSession変数のいずれかを使用しようとした直後。

奇妙な部分は、時々それが機能することです。その後、何も変更しないと、このエラーが発生し始めます。

「セッション状態は 、構成ファイルまたはディレクティブ でenableSessionStateが に設定されている場合にのみ使用 できます。アプリケーション構成のセクションに またはカスタム セッション状態モジュールが含まれて いることも確認してください。」truePageSystem.Web.SessionStateModule<configuration>\<system.web>\<httpModules>

でセッションを有効にするさまざまな方法を探してみましたweb.config。現在の外観は次のとおりです。

<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>

enableSessionState="true"特にand<add name="Session" type="System.Web.SessionState.SessionStateModule"/>は、以前は存在せず、常に機能していたため、コメントアウトされていることがわかります。しかし、両方を有効にして、どちらか一方を有効にして試してみましたが、違いはありません。

これは何年もの間生産されてきたアプリです。私はマイナーな変更を加えているだけです。おそらくその最大の変更は、「タイトルバー」ページの追加と、2.0 から 3.5 へのアップグレードです。enableSessionStateページ ディレクティブに追加しようとしてweb.configいません。セッションを有効にするのは無駄です。

他にアイデアはありますか?

ありがとう、ジェフ

4

2 に答える 2

6

ブレイクポイント!

ベース ページ、メイン ページ、および Session_Start と OnInit のコンストラクタ メソッドにブレークポイントを設定しました。同僚がデバッガーのすべてのブレークポイントを削除したところ、問題は消えました!

うーん!

于 2009-06-25T20:02:06.717 に答える
0

変数のインスタンス化といくつかのセッション値を設定するページの読み込みでブレークポイントを使用して、同じことを経験します。Windows 7 / VS2010 を実行しています。ブレークポイントを無効にすると、セッション状態をロードできるようになります。

于 2010-11-23T17:06:25.323 に答える