2

最近、ASP.Net (3.5) アプリケーションを新しいサーバーに移動しましたが、トラブルシューティングに問題があるという奇妙な問題が発生しました。

使用しているブラウザー (IE、FF、Chrome) に関係なく、すべてのページの読み込みで、ASP.Net/IIS はページの読み込みごとに新しいセッションを発行し、以前に呼び出したセッションを忘れます。

次のように、これをテストするための簡単なページがあります。

<asp:Button ID="Button1" Visible="true" runat="server" Text="Button" />

    <%= HttpContext.Current.Session("Test")%>
    <br /><br />
    <%= Session("GlobalTest") %> 
    <a href="Test.aspx">Reload the page</a>

コード ビハインドでは、ボタンに次のように記述しています。

    HttpContext.Current.Session("Test") = DateTime.Now.ToLongTimeString

Global.asax で

    Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs when a new session is started
        Session("GlobalTest") = "Session Created on : " + DateTime.Now.ToLongTimeString()
    End Sub

ボタンを押すと、最初はセッション値が問題なく表示されます。リンクを介してページをリロードするか、新しい情報をロードするだけでページをリロードします (新しい時間に更新されるグローバルを除く)。

web.config では、セッションは次のようにセットアップされます。

<sessionState mode="InProc" timeout="15" useHostingIdentity="false" cookieless="false" />

誰かがこれに似た経験をしましたか?

4

3 に答える 3

1

わかりました。すべての提案をありがとう。

何が起こっていたのかは、Web 構成であまり知られていないタグであり、そのサイトの SSL 証明書をまだセットアップしていませんでした。それを取り除くと、魅力のように機能します。来週までそれを行う予定はありません。

これは厄介な動作を引き起こします...誰にもCookieを設定することはありませんが、通常どおりSessionを使用でき、Cookieセッションをリセットすると最初のロードで適切に機能します(SSLを使用していません) )。

ありがとうございました。

于 2013-05-01T16:00:16.940 に答える
0

書き込むたびにアプリケーション変数とセッション変数がリセットされるため、bin ディレクトリに書き込んでいないことを確認してください。

于 2013-04-30T20:26:02.217 に答える