« ASP.NETのPOST その2 | メイン | 最初の10件 »

2006年06月15日

仕事の周辺 » .NET

ASP.NETのロギング

ラベル印刷等を行っている業務用ASPに誰がいつどんな抽出を行ったか、ログに保存する機能を追加することに。理由は推して知るべし(^^;)。いや~な世の中ですね。まったく。
ググってここを参考にコーディング。
時間、IPアドレス、URLは簡単に書き出し。ログイン中のユーザーを書き出ししようとしたら、Request.ServerVariables["AUTH_USER"]で取得できるはずなのに、なぜか空。コードの記述場所をApplication_EndRequestに移動して無事ゲット。
お次はPOSTされるフォームの値が欲しいところですが、CGIなら$ENV{'QUERY_STRING'};で取得できるのに、ASPの場合は、Request.ServerVariables["QUERY_STRING"]はURLの?の後ろしか取得できないもよう。
明日にしようかな、と思いかけた時に思い出したのが、クッキーレスのPOSTでお世話になったコード
Request.Formオブジェクトをforeachしてペアで書き出せば簡単なのでした。
勝手に作成されるVIEWSTATEとパスワードがロギングされないように
((formname != "__VIEWSTATE") && (formname != "txtPassword"))を条件に追加。
文字化けしているボタンのバリューも省こうかと思ったのですが、これは一つのASPに複数ボタンが存在する場合のことを考え残すことに。
残る課題は、フォームコントロールにはちゃんとした名前をつけましょう(^^;)。TextBox1=2006/05/01たらTextBox2=2006/05/31たらが並んでいるのはどうなの?

投稿者 idic : 2006年06月15日 21:45

コメント

コメントしてください

サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?