0

asp.netWebサイトに非常に単純なログプロセスを実装しました。このWebサイトは、誰もログオンしていないサーバー上のIISでホストされています。クライアントは、ローカルネットワークアドレスを使用してこのWebサイトに接続します。実行された操作とそれにかかった時間に関する情報をログに記録しています。誰かがログファイルを読みたい場合、全員の操作が同じ場所に書き込まれるため、彼はどの操作が実行されたかを知ることができません。

何かをログに記録するたびに、ユーザーを識別するための情報を追加したいと思います。HttpContext.Current.Userにアクセスしようとしましたが、これには常に汎用IDがあります。HttpContext.Sessionも調べましたが、関連するものは見つかりませんでした...

コンピューター名またはユーザーのユーザー名(彼がWindowsにログインしていたもの)、またはユーザーがどの操作を自分のものであるかを識別するのに役立つ他の何かをログに記録したいと思います。(すべてを別々のログファイルに分けることもできますが、その場合も、アパートに伝えるための何かが必要になります)。

4

1 に答える 1

0

しばらく検索した後、その方法でクライアントのコンピューター名を取得する方法を見つけました。

string name =
  System.Net.Dns.GetHostEntry(Request.ServerVariables["remote_addr"]).HostName.Split('.')[0];
于 2012-04-19T13:39:46.963 に答える