c# – 如何在抽象类的静态属性中使用HttpContext.Current.Sessio
发布时间:2020-12-16 01:56:50 所属栏目:百科 来源:网络整理
导读:我有一个ControllerBase抽象类,如下所示. using System.Web;using System.Web.Mvc;public abstract class ControllerBase : Controller{ public static string SesssionId { get { return HttpContext.Current.Session["SessionId"]; } }} 我收到了错误 “ob
我有一个ControllerBase抽象类,如下所示.
using System.Web; using System.Web.Mvc; public abstract class ControllerBase : Controller { public static string SesssionId { get { return HttpContext.Current.Session["SessionId"]; } } } 我收到了错误
但是我在其他静态类中使用了相同的并且没有出现上述错误. 我想知道HttpContext是如何可访问的而不是当前的. 谁能澄清我,上面有什么问题. 解决方法
您的基类Controller指定一个
HttpContext属性本身.
因此,在派生类ControllerBase中使用它时,编译器认为您要引用基类的此属性. 您可以使该属性非静态,如Wudzik在第一条评论中所建议的那样. 如果需要将此属性保持为静态,则必须告诉编译器,您要使用命名空间System.Web的HttpContext类: public static string SesssionId { get { return System.Web.HttpContext.Current.Session["SessionId"]; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |