ASP.NET Web应用程序用户操作信息描述类
创始人
2024-04-21 16:00:47
0

在asp.net web应用程序中如果我们想表示用户操作信息,就必须有一些***性标识,下面接口分五层描述用户操作信息:

1.用户名:直接标识操作者用户名

2.用户IP地址:通过IP地址标识操作进行时操作者所在物理机器

3.用户SessionId:用来标识用户浏览器所使用的会话信息,具有线程***性

4.用户操作画面ID:标识用户在所操作的页面

5.用户操作事件ID:标识用户进行操作的事件(服务器端控件ID)

ASP.NET Web应用程序范例代码:

  1. Public Interface IOperatable  
  2.  
  3.     Property UserName() As String  
  4.     Property IPAddress() As String  
  5.     Property SessionId() As String  
  6.     Property ScreenId() As String  
  7.     Property EventId() As String  
  8.  
  9. End Interface  
  10.  

对于一次服务器端的控件事件,都有***的HTTP请求被发送的服务器端,同时开启***线程来处理此请求。即对于用户操作信息应该具有线程***性,所以定义线程静态变量Current来保存当前线程的用户操作信息,这样在一次赋值后即可通过“OperationInfo.Current”的形式来获得用户操作信息,而无需在各层次的方法间传递用户操作信息。

ASP.NET Web应用程序范例代码:

  1. Imports RichardTsuei.Core  
  2.  
  3. Public Class OperationInfo  
  4.     Implements IOperatable  
  5.  
  6.     < ThreadStatic()> _  
  7.     Private Shared _Current As IOperatable  
  8.     Public Property Current() As IOperatable  
  9.         Get  
  10.             Return _Current  
  11.         End Get  
  12.         Set(ByVal value As IOperatable)  
  13.             _Current = value  
  14.         End Set  
  15.     End Property  
  16.  
  17.     Private _UserName As String  
  18.     Public Property UserName() As String Implements Core.IOperatable.UserName  
  19.         Get  
  20.             Return _UserName  
  21.         End Get  
  22.         Set(ByVal value As String)  
  23.             _UserName = value  
  24.         End Set  
  25.     End Property  
  26.  
  27.     Private _IPAddress As String  
  28.     Public Property IPAddress() As String Implements Core.IOperatable.IPAddress  
  29.         Get  
  30.             Return _IPAddress  
  31.         End Get  
  32.         Set(ByVal value As String)  
  33.             _IPAddress = value  
  34.         End Set  
  35.     End Property  
  36.  
  37.     Private _SessionId As String  
  38.     Public Property SessionId() As String Implements Core.IOperatable.SessionId  
  39.         Get  
  40.             Return _SessionId  
  41.         End Get  
  42.         Set(ByVal value As String)  
  43.             _SessionId = value  
  44.         End Set  
  45.     End Property  
  46.  
  47.     Private _ScreenId As String  
  48.     Public Property ScreenId() As String Implements Core.IOperatable.ScreenId  
  49.         Get  
  50.             Return _ScreenId  
  51.         End Get  
  52.         Set(ByVal value As String)  
  53.             _ScreenId = value  
  54.         End Set  
  55.     End Property  
  56.  
  57.     Private _EventId As String  
  58.     Public Property EventId() As String Implements Core.IOperatable.EventId  
  59.         Get  
  60.             Return _EventId  
  61.         End Get  
  62.         Set(ByVal value As String)  
  63.             _EventId = value  
  64.         End Set  
  65.     End Property  
  66.  
  67. End Class  
  68.  

【编辑推荐】

  1. P.NET DetailsView中显示选中产品的详细信息
  2. P.NET 2.0数据教程:GridView选择行
  3. ASP.NET 2.0数据教程:GridView显示数据
  4. ASP.NET 2.0中添加GridView到页面
  5. 新增ASP.NET页面时的注意事项

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...