2011-09-14 5 views
1

iis 6からiis 7に移行したasp.net web app(2.0)があります。 6ヶ月間良好に機能しました。 3日前に、ユーザーがログインしたユーザーが他のユーザー情報を確認する問題が発生しています。 (セッション情報) セッションはプロキシにありますasp.netアプリケーションiis7 sessionstateが異なる場所の複数のユーザーを横断しています

iis7アプリケーションプールは統合モードです。

私たちはこのアプリケーションをダウンしました。 アプリのWeb configが

<system.webServer> 
<validation validateIntegratedModeConfiguration="false"/> 
<modules> 
    <remove name="ScriptModule"/> 
    <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
</modules> 
<handlers> 
    <remove name="WebServiceHandlerFactory-Integrated"/> 
    <remove name="ScriptHandlerFactory"/> 
    <remove name="ScriptHandlerFactoryAppServices"/> 
    <remove name="ScriptResource"/> 
    <remove name="WebServiceHandlerFactory-ISAPI-2.0"/> 
    <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
    <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode"/> 
    <add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/> 
    <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
</handlers> 

以下の通りですいずれかが、それはアプリケーションが年間のn個のdidntのためのIIS6で、この問題を持っていなかった 何ができるかの手掛かりを持っている6 IIS7ですべての問題を持っています月。我々はすべてのグローバル変数を使用していない

...

+0

問題は、設定ではなくコードにある可能性があります。実際にはSessionをまったく使用していない可能性があります。 –

+0

もしそれが1年前にそれを見たコードだったら。これはちょうど2011年9月9日に起こった2011年9月12日 – Ahmed

+0

あなたの設定には、ブラウザがセッション状態を共有する原因になるものはありません。 –

答えて

3

IIS7は、明示的に.aspxのextentionsでそれをオフにする必要があり

3.5(クラシック)モード用のアプリケーションプールを超える機能/バグ 出力キャッシングを持っています IIS7セッション交差/混在/上書き Webファームで問題が検出されました: IIS 7セッションがクロス/混在/コピーされました。ユーザーが別のセッションを取得していた!!!!

いくつかの調査の結果、IIS 7に動的コンテンツをキャッシュする機能が追加されました。 IIS7の新機能です。このバージョンのIISでは、いくつかの新しいキャッシュ機能が導入されました。 (i)IIS7は、HTMLページ、イメージ、スタイルシートなどの静的コンテンツを自動的にキャッシュします。 (ii)IIS7には動的コンテンツもキャッシュできるようになりました。

IIS7では、セッション状態に依存するasp.netページを持つ任意のディレクトリで.aspxページのキャッシュを無効にします。これを実行する手順は次のとおりです。 1.サーバー管理コンソールを実行し、役割 - > Webサーバー(IIS) - >インターネットインフォメーションサービスにナビゲートします。 2.変更するサイトを選択します。 3.キャッシングをオフにする必要がある.aspxページを含むフォルダを選択します。 4.機能ビューで、[出力キャッシュ]をダブルクリックします。 5.拡張子.aspxが既に存在する場合は、ダブルクリックします。それ以外の場合は、右クリックし、「追加...」を選択します。 6.「ファイル名拡張子」に「.aspx」と入力します。 7.「ユーザーモードのキャッシュ」、「すべてのキャッシュの防止」、「カーネルモードのキャッシュ」、キャッシング "

+1

このように、セッションには何も問題はありませんでした。結局のところ、あなたがしてはいけないときに、特定のコンテンツ。 –

関連する問題