非静态字段、方法或属性“System.Web.Mvc.Controller.HttpContext.get”需要对象引用

本文关键字:HttpContext Controller Mvc get 对象引用 Web System 字段 静态 方法 属性 | 更新日期: 2023-09-27 18:32:28

我在 MVC3 应用程序中收到此错误。请帮忙...

错误:

An object reference is required for the non-static field, method, or property 'System.Web.Mvc.Controller.HttpContext.get'

在线:

string desigId = HttpContext.Current.Session["Desig_Id"].ToString();

类中的代码及其方法:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Helpers;
using System.Net.Mail;
using System.Net;
using System.ComponentModel;
using System.Diagnostics;
using System.Threading.Tasks;
namespace ApricaCRMEvent.Controllers
{
    public class NotificationController : Controller
    {
        //to send email notification
        [Authorize]
        public static string SendEmailNotification(int crmId, string username, string action)
        {
              string desigId = HttpContext.Current.Session["Desig_Id"].ToString();
        }
    }
}

非静态字段、方法或属性“System.Web.Mvc.Controller.HttpContext.get”需要对象引用

您的基类Controller已经实现了属性HttpContext

您可以完全限定引用它:System.Web.HttpContext.Current...或使用控制器的属性,就像HttpContext.Session一样。对于第二个选项,您的方法必须non-static

错误的另一个原因是您无法在静态方法中使用HttpContext.Current.SessionServer.MapPath()

在这种情况下,您可以使用HostingEnvironment.MapPath()