2

シナリオ:asp.net WebアプリケーションがリモートIISにデプロイされ、Oracleデータベースにログインするように構成されています。ログテーブルには、Login_ID、Log_message、Querystring、ipaddressの列があります。そのため、デプロイされたURLは、さまざまなlogin_idsを使用してさまざまなシステムから参照されました。

問題:アプリケーションが異なるログインIDと異なるフローを持つ異なるシステムで実行されている場合、あるフロー/システムのログインIDが別のフロー/システムに挿入されます。ただし、アプリケーションの単一インスタンスが実行されると、ウォールが適切に挿入されます。

例:ログインID Xの場合、サイトはフロー「A」を介して参照され、ログインID Yの別のユーザーは、フロー「B」を介してサイトを参照しています。Loginid'X'は、フロー'B'およびフロー'A'のレコードに挿入されます</p>

コード:

user =(User)Session ["User"];

log4net.GlobalContext.Properties ["LOGIN_ID"] = user.loginid;

調査:いくつかのサイトを調べた後、log4netコンテキストがasp.netで正しく機能しないことを知りました。

http://piers7.blogspot.com/2005/12/log4net-context-problems-with-aspnet.html

http://piers7.blogspot.com/2007/07/log4net-in-aspnet-redux-implement.html

これらのリンクは、私が試したが結果を得ることができなかったhttpcontextを使用することを示唆しています。だから誰かが私がこの問題を解決するのを手伝ってくれる?

4

1 に答える 1

1

ここで別の質問に対する私の回答を確認してください。

私の答えの最後の提案は、作業を開始するのが最も簡単で、あなたが望むことをするかもしれません. 私の提案は、上記で参照したのと同じリンクに直接基づいています。

于 2011-07-15T18:57:38.537 に答える