2017-01-06 12 views
0

私はMVCのWebサイトを取得し、log4netを使用してログを記録します。LockModelを持つAsp.net MVC log4netセッションが失われる

Webアプリケーションでは、セッションにユーザー情報を格納し、1回の操作を実行した後にログ情報を追加します。その後、ホームページに戻ったときにセッションが失われました(ホームページのURLを入力するだけです)。

"Response.Redirect()"と何の関係もないセッションが失われたと確信しています。アプリケーションをテストして、値が "log4net"のlockingModelプロパティにコメントした後に回復することがわかったからです。 Log4net設定ファイルの "Appender.FileAppender + MinimalLock"を選択します。以下は

構成です:

<?xml version="1.0"?> 
<log4net debug="true"> 
    <appender name="AllInfoRollingAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="bin\\Log\\AllInfo-UniqueBlog-" /> 
     <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
     <appendToFile value="true" /> 
     <staticLogFileName value="false" /> 
     <rollingStyle value="Composite" /> 
     <datePattern value="yyyy-MM-dd.LOG" /> 
     <maximumFileSize value="1M" /> 
     <maxSizeRollBackups value="4" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%date [%thread] %-5level %logger: %message%newline%exception" /> 
     </layout> 
    </appender> 
    <root> 
     <level value="ALL" /> 
     <appender-ref ref="AllInfoRollingAppender" /> 
    </root> 
</log4net> 

だから私はlog4netの設定で「lockingModel」プロパティは、このエラーが発生しますが、私はその理由を知らない、それはそこに何らかのエラーがスローされません、んだと思います誰かがこれに遭遇する?これはこの問題を引き起こすべきではないので、私はそれが想像できないことを発見しました。

答えて

0

あなたの質問は全く読めません。しかし、私はあなたがチェックできるものを持っている必要があります。セッションが失われた場合は、Session.Redirec()の前または後にログに記録しますか。セッションのリダイレクト後にログオンすると、コードは決してヒットしません。リダイレクトによって現在のスレッドが終了します。次にlog4netのデバッグを有効にすることができます:

log4netで何か問題が発生した場合は、ログに表示されます。

関連する問題