CSharp - 在 ASP.NET mvc中,如何访问全局变量

  显示原文与译文双语对照的内容
0 0

试图访问一个全局变量,该变量是在我的项目的Global.asax 部分设置的。 当我在我的DAL中包含命名空间并访问变量 Visual Studio 时。 这是代码


protected void Application_Start()
{
 AreaRegistration.RegisterAllAreas();
 RegisterGlobalFilters(GlobalFilters.Filters);
 RegisterRoutes(RouteTable.Routes);
 Application["NHSessionFactory"] = CreateSessionFactory();
}

这是我的DAL逻辑


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;
using NHibernate;

namespace Data.DAL
{
 public class DB
 {
 private ISessionFactory session;
 public DB()
 {
 ISessionFactory session = (ISessionFactory) Application["NHSessionFactory"];//problems here
 }

 public ISessionFactory GetSession()
 {
 return session;
 }
 }
}

错误的屏幕快照: enter image description here

我如何访问在 Global.asax 中设置的变量?

时间: 原作者:

0 0

是的,你可以使用与 asp.net 相同的应用程序变量


Example:

System.Web.HttpContext.Current.Application.Lock();
System.Web.HttpContext.Current.Application["NHSessionFactory"] ="Something";
System.Web.HttpContext.Current.Application.UnLock();

原作者:
...