asp.net – 为会话值的关键名称创建枚举是一个好主意吗?
发布时间:2020-05-25 01:08:36 所属栏目:asp.Net 来源:互联网
导读:而不是做 session(myvar1) = something session(myvar2) = something session(myvar3) = something session(myvar4) = something 是在做 enum sessionVar myvar1 myvar2 myvar3 myvar4end enum
|
而不是做 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 会更好? 解决方法而不是使用会话密钥的常量,我使用我自己的类型安全的会话对象,看起来像这样(对不起,这是在C#,见下面的VB版本):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; 这个解决方案有几个优点: >我有一个类型安全的会话(没有更多的类型转换) 更新: 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-mvc-3 – 如何在Razor中创建一个else if语句?
- asp.net-mvc – 如何为mvc应用程序中的所有控制器启用ssl
- asp.net-mvc-3 – 使用csvhelper(nuGET)和C#MVC导入CSV文件
- asp.net-mvc – ASP.NET MVC跟踪问题
- asp.net – Visual Studio需要Windows 7中提升的权限
- 如何在ASP.net中获取页面中的主页?
- asp.net-mvc – 未在ELMAH中记录的错误
- asp.net – 内部图像和文本的asp:LinkButton在回发后消失
- asp.net-web-api – 如何从ASP.net 5 web api返回文件
- 为什么每个人都在ASP.NET Webforms中依赖注入是困难的,当Pa
推荐文章
站长推荐
- ASP.net Web服务与WCF
- asp.net-mvc – angular js和asp.net mvc 4示例应
- asp.net – CSS中的内联样式与样式
- asp.net-mvc – IIS显示服务器错误而不是自定义错
- asp.net-mvc – 控制器操作无法从JSON读取Guid P
- asp.net-mvc – 如何创建文件并通过ASP.NET MVC中
- asp.net-core – 如何从MVC 6中的ASP.Net 5 Tag
- asp.net汉字转拼音和获取汉字首字母的代码
- asp.net-mvc – MVC 4,Upshot实体循环引用
- asp.net-mvc – 应用偏移量时表示的UTC时间必须介
热点阅读
