关于MVC4使用全局变量application的疑问

Squall001 2016-12-05 01:18:43

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;
using HTMLTest.myThread;

namespace HTMLTest
{
// 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,
// 请访问 http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();

WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
Application.Add("gtest", 0); //在这里开一个全局变量出来
acc_TokenClass mythread = new acc_TokenClass();
mythread.start();
}
}
}


我在程序的控制层controller里面引用application可以直接使用以下代码

int gtest = int.Parse(HttpContext.Application["gtest"].ToString());

意思就是直接HttpContext.Application就获取了。


但是我自己开了个类 例如上面的acc_TokenClass这个线程的类,在这个类里面要调用这个全局变量就需要使用以下代码

int gtest = int.Parse(HttpContext.Current.Application["gtest"].ToString());

为什么这个里面多个current?非得要使用HttpContext.Current.Application这个是MVC的规定么?我没有在网络上面搜索到,
PS:本人基本没有学过.NET,由于项目需要逼得硬写代码,求大虾们给我点拨下,谢谢
...全文
485 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 楼主 Squall001 的回复:
但是我自己开了个类 例如上面的acc_TokenClass这个线程的类,在这个类里面要调用这个全局变量就需要使用以下代码
你的这个类又不是 Controller,哪里来的 HttpContext 属性?
  • 打赏
  • 举报
回复
再说一遍,谁告诉你说前一个 HttpContext 就是后一个 HttpContext 呢?仅仅抠字眼儿会“读书死”。
  • 打赏
  • 举报
回复
引用 3 楼 godshome 的回复:
使用Application是早期asp的过渡方法,现在,直接在某个类里申明 一个静态变量就可以了
是这样的。 所谓 HttpContext,可以是当前对象的一个属性,也可以是指一个 Class,这是两个不同的含义(前者也可以实现为返回后者的 Current 属性值)。你用该在你的不同的程序代码中调试,不要只知道望文生义,要知道相同的词儿但是机制并不相同。
godshome 2018-12-27
  • 打赏
  • 举报
回复
使用Application是早期asp的过渡方法,现在,直接在某个类里申明 一个静态变量就可以了
  • 打赏
  • 举报
回复
用于获取当前HttpContext,毕竟有些情况下你要在非UI层的代码(比如Service层)中获取当前HttpContext
星火燎猿 2018-12-18
  • 打赏
  • 举报
回复
了解ASP.NET的开发人员都知道它有个非常强大的对象 HttpContext,而且为了方便,ASP.NET还为它提供了一个静态属性HttpContext.Current来访问它!

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧