大佬教程收集整理的这篇文章主要介绍了asp.net – 为会话值的关键名称创建枚举是一个好主意吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
session("myvar1") = something session("myvar2") = something session("myvar3") = something session("myvar4") = something
是在做
enum sessionVar myvar1 myvar2 myvar3 myvar4 end enum session(sessionVar.myvar1.toString) = something session(sessionVar.myvar2.toString) = something session(sessionVar.myvar3.toString) = something session(sessionVar.myvar4.toString) = something
会更好?
public class MySession { // Private constructor (use MySession.Current to access the current instancE). private MySession() {} // Gets the current session. public static MySession Current { get { MySession session = httpContext.Current.Session["__MySession__"] as MySession; if (session == null) { session = new MySession(); httpContext.Current.Session["__MySession__"] = session; } return session; } } // My session data goes here: public String MyString { get; set; }; public bool MyFlag { get; set; }; public int Mynumber { get; set; }; }
每当我需要读/写会话时,我可以使用我的类型安全会话对象,如下所示:
String s = MySession.Current.MyString; s = "new value"; MySession.Current.MyString = s;
这个解决方案有几个优点:
>我有一个类型安全的会话(没有更多的类型转换)
>我可以记录所有基于会话的数据(通过在MySession中注释公共属性)
>当向会话添加新元素时,我不必搜索解决方案来检查是否已经在其他地方使用了同一个会话密钥.
更新:
这是一个VB版本(从C#版本自动转换).对不起,但我不知道VB,所以我不知道如何在VB中写属性:
Public Class MySession ' Private constructor (use MySession.Current to access the current instancE). Private Sub New() End Sub ' Gets the current session. Public Shared ReadOnly Property Current() As MySession Get Dim session As MySession = TryCast(httpContext.Current.Session("__MySession__"),MySession) If session = Nothing Then session = New MySession() httpContext.Current.Session("__MySession__") = session End If Return session End Get End Property ' My session data goes here: Public MyString As String Public MyFlag As Boolean Public Mynumber As Integer End Class
以上是大佬教程为你收集整理的asp.net – 为会话值的关键名称创建枚举是一个好主意吗?全部内容,希望文章能够帮你解决asp.net – 为会话值的关键名称创建枚举是一个好主意吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。