asp.net-mvc-3 – 从HttpContext.Current访问TempData
发布时间:2020-05-28 21:50:35 所属栏目:asp.Net 来源:互联网
导读:如何从HttpContext.Current访问TempData? 如果您希望通过自己的设计决策将上下文对象作为参数传递,但您至少可以在自己的全局静态类中使用[ThreadStatic].这对于访问属性的成员来说可以方便,而这些成员又必须依赖于这样的ThreadStatic参数,因为它们不是函数.
|
如何从HttpContext.Current访问TempData? 解决方法如果您希望通过自己的设计决策将上下文对象作为参数传递,但您至少可以在自己的全局静态类中使用[ThreadStatic].这对于访问属性的成员来说可以方便,而这些成员又必须依赖于这样的ThreadStatic参数,因为它们不是函数.ThreadStatic可以帮助在同一线程上共享资源到远程堆栈帧,而无需传递参数. HttpContext.Current使用ThreadStatic来实现这一点. 一个常规的MVC控制器类不会为你做这个.因此,您将需要为项目中的所有控制器创建自己的类,以继承. public class MyController : Controller
{
public MyController()
{
_Current = this;
}
[ThreadStatic]
public static RacerController _Current = null;
public static RacerController Current
{
get
{
var thisCurrent = _Current; //Only want to do this ThreadStatic lookup once
if (thisCurrent == null)
return null;
var httpContext = System.Web.HttpContext.Current;
if (httpContext == null) //If this is null,then we are not in a request scope - this implementation should be leak-proof.
return null;
return thisCurrent;
}
}
protected override void Dispose(bool disposing)
{
_Current = null;
base.Dispose(disposing);
}
}
用法: var thisController = MyController.Current; //You should always save to local variable before using - you'll likely need to use it multiple times,and the ThreadStatic lookup isn't as efficient as a normal static field lookup. var value = thisController.TempData["key"]; thisController.TempData["key2"] = "value2"; (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何使用ASP.NET MVC在我的现有数据库中设置
- asp.net-mvc-3 – 是否可以强制使用DataType作为DataType.M
- 如何从asp.net中的客户端网络摄像头捕获图像
- asp.net-mvc-4 – Asp.Net Web Api – ModelBinders
- ASP.NET,C#,IIS,MIME类型,文件上传条件
- asp.net-mvc – asp.net mvc 4从控制器按钮调用方法
- asp.net-mvc – 为什么实体框架在更新父项时会插入子项?
- asp.net-core – .NET Core SDK安装程序无法在Windows 2012
- asp.net – 是MemoryCache范围会话还是应用程序?
- asp-classic – 如何在经典ASP中使用VBScript生成MD5?
推荐文章
站长推荐
- asp.net – 在UpdatePanel asyncpostback后丢失的
- asp.net-mvc – 无法导出Kendo Grid中的隐藏列
- asp.net – 对于未更改的静态内容,Amazon CloudF
- asp.net-mvc-3 – ASP.NET MVC 3和Razor的ASHX处
- asp.net-mvc – 将参数传递给Azure Active Direc
- asp.net-mvc – 使用带有剃刀的html选择框
- asp.net-mvc – ASP.NET MVC自定义T4模板的视图
- powershell – 如何检查asp.net mvc 3是否已安装
- asp.net-mvc – 条件数据注释
- ASP.NET:压缩ViewState
热点阅读
