-1

我正在尝试访问在项目的 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;
        }
    }
}

错误的屏幕截图: 在此处输入图像描述

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

4

1 回答 1

0

是的,您可以像 asp.net 一样使用应用程序变量

Example:

System.Web.HttpContext.Current.Application.Lock();
System.Web.HttpContext.Current.Application["NHSessionFactory"] = "Something";
System.Web.HttpContext.Current.Application.UnLock();
于 2012-07-15T20:35:45.957 回答