-1

プロジェクトの Global.asax セクションで設定されたグローバル変数にアクセスしようとしています。私のDALに名前空間を含めて変数にアクセスすると、ビジュアルスタジオが文句を言います。ここにコードがあります

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 に答える