2011-08-03 7 views
0

そのように単純です。Asp.NET | Get Ipユーザーがサイトを開くときにボタンをクリックする

私は、セッションIDにipを保存したい、または。彼は、ボタンをクリックしたとき、それはそのように行います:

using (StreamWriter writer = new StreamWriter(fileStream)) 
     { 
      writer.WriteLine(TextBox1.Text); 
      } 

(そのすべてではないコードOFC)

彼はボタンをクリックしたときに、それがファイルにIPをwirteます。 :)

どうすればいいですか?

+0

これが役立つかどうかを確認してください。http://stackoverflow.com/questions/735350/how-to-get-a-users-client-ip-address-in-asp-net – Fred

答えて

1

用途:

HttpContext.Current.Request.UserHostAddress; 

または

HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; 

また、あなたが最初に彼は、プロキシの背後にあるかどうかを確認することがあります:

if(String.IsNullOrEmpty(HttpContext.Current.Request.ServerVariables("HTTP_X_FORWARDED_FOR"))) { 
    string ipAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; 
} 
else { 
    string ipAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; 

} 

そして、私は@バリーのポストに同意するだろうこれについては完璧な解決策ではありません。

0

Request.UserHostAddressユーザーのIPアドレスを取得するには、完全なソリューションではありませんが、ファイアウォールの背後にある社内ネットワーク上に存在し、外部企業1社(たとえば、 IP。

+0

私はこれにtryedを行っています:protected void Page_Load(オブジェクト送信者、EventArgs e) { Session ["Id"] = HttpContext.Current.Request.UserHostAddress; }、私はdogin時には動作しません:writer.WriteLine(Session ["Id"]。ToString()); –

関連する問題