记录游客页面访问IP的简易实现代码 (asp.net+txt)

  记录处理类

  

复制代码 代码如下:

  using System;

  using System.IO;

  /// <summary>

  /// File

  /// </summary>

  public class File

  {

  protected string FilePath;

  /// <summary>

  /// File构造

  /// </summary>

  /// <param name="filePath">需要操作的文本路径</param>

  public File(string filePath)

  {

  this.FilePath = filePath;

  }

  /// <summary>

  /// 文本内容写入

  /// </summary>

  /// <param name="info">写入内容</param>

  public void FileWrite(string info)

  {

  try

  {

  FileInfo file = new FileInfo(FilePath);

  if (!file.Exists)

  {

  using (StreamWriter sw = file.CreateText())

  {

  sw.WriteLine(info);

  }

  }

  else

  {

  using (StreamWriter sw = file.AppendText())

  {

  sw.WriteLine(info);

  }

  }

  }

  catch(FileNotFoundException fileCe)

  {

  throw fileCe;

  }

  catch (Exception ce)

  {

  throw ce;

  }

  }

  }

  页面调用代码

  

复制代码 代码如下:

  public partial class _Default : System.Web.UI.Page

  {

  protected void Page_Load(object sender, EventArgs e)

  {

  if (!IsPostBack)

  {

  //判断当前用户是否访问过,只记录未访问过的用户

  if (Request.Cookies["IsExitsIP"] == null)

  {

  //每天一个记事本.txt

  string fileName = string.Format("{0}{1}{2}", DateTime.Now.Year.ToString(), DateTime.Now.Month.ToString(), DateTime.Now.Day.ToString());

  File file = new File(Server.MapPath("~/test/" + fileName + ".txt"));

  file.FileWrite(Request.UserHostName);

  //给正在访问的用户添加已访问标记

  HttpCookie cokie = new HttpCookie("IsExitsIP");

  cokie.Values.Add("ip", Request.UserHostName);

  Response.AppendCookie(cokie);

  }

  }

  }

  }