visitor.cs

来自「该项目中对 SQLHelper 类进行了简单封装」· CS 代码 · 共 105 行

CS
105
字号
/* 
 * Visitor.cs @Microsoft Visual Studio 2008 <.NET Framework 3.5>
 * AfritXia
 * 2008-01-25
 * 
 * Copyright(c) http://www.AfritXia.NET/
 * 
 */

using System;
using System.Configuration;
using System.Web;

using NET.AfritXia.MyHome.HomeStart.CodeLand.ServiceProxy;

namespace NET.AfritXia.MyHome.HomeStart.CodeLand
{
	/// <summary>
	/// 浏览者对象
	/// </summary>
	public sealed class Visitor
	{
		// 用户昵称
		private string m_nickName = null;

		#region 类构造器
		/// <summary>
		/// 类默认构造器
		/// </summary>
		private Visitor()
		{
		}
		#endregion

		/// <summary>
		/// 获取当前浏览者
		/// </summary>
		public static Visitor Current
		{
			get
			{
				Visitor currentVisitor = HttpContext.Current.Session["Visitor"] as Visitor;

				if (currentVisitor != null)
					return currentVisitor;

				currentVisitor = new Visitor();

				// 将 Visitor 对象保存到 Session
				HttpContext.Current.Session["Visitor"] = currentVisitor;

				return currentVisitor;
			}
		}

		/// <summary>
		/// 获取用户昵称
		/// </summary>
		public string NickName
		{
			get
			{
				return this.m_nickName;
			}
		}

		/// <summary>
		/// 获取用户全名, 格式为 IP/NickName@ServerID
		/// </summary>
		public string FullName
		{
			get
			{
				// 获取 IP 地址
				string ipAddress = HttpContext.Current.Request.UserHostAddress;
				// 获取服务器 ID
				string serverUID = ConfigurationManager.AppSettings["homeStart.ServerUID"];

				return String.Format("{0}/{1}@{2}", ipAddress, this.NickName, serverUID);
			}
		}

		/// <summary>
		/// 获取当前浏览者的 SessionID
		/// </summary>
		public string SessionID
		{
			get
			{
				return HttpContext.Current.Session.SessionID;
			}
		}

		/// <summary>
		/// 获取当前浏览者的 IP 地址
		/// </summary>
		public string ClientIP
		{
			get
			{
				return HttpContext.Current.Request.UserHostAddress;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?