HttpContext에 액세스할 수 없습니다.현재의
HttpContext에 액세스할 수 없습니다.C#4.5가 설치된 내 프로젝트 MVC4의 현재
시스템에 참조를 추가했습니다.프로젝트에서 웹을 사용하고 컨트롤러 페이지에 사용 지침을 추가했습니다.
하지만 현재 Handler에만 액세스할 수 있습니다.
var context = HttpContext.CurrentHandler; //Current
아이즈HttpContext.Current
C#4.5에서 사용되지 않음
이 도움말 페이지를 찾아봤습니다. http://msdn.microsoft.com/en-us/library/system.web.httpcontext.aspx
당신은 포함했습니까?System.Web
응용프로그램에서 어셈블리?
using System.Web;
그렇지 않은 경우 다음을 지정합니다.System.Web
네임스페이스, 예:
System.Web.HttpContext.Current
이는 이름이 지정된 컨트롤러의 속성을 참조하고 있기 때문입니다.HttpContext
현재 컨텍스트에 액세스하려면 전체 클래스 이름을 사용합니다.
System.Web.HttpContext.Current
그러나 ASP.NET MVC에서 이와 같은 컨텍스트에 액세스하는 것은 매우 권장되지 않으므로, 예, 다음과 같이 생각할 수 있습니다.System.Web.HttpContext.Current
ASP.NET MVC 내부에서 더 이상 사용되지 않습니다.현재 컨텍스트에 액세스하는 올바른 방법은 다음과 같습니다.
this.ControllerContext.HttpContext
또는 컨트롤러 내부에 있는 경우에는 멤버를 사용합니다.
this.HttpContext
여기에 혼란을 완화하기 위해 약간을 추가합니다.Darren Davies의 (인정된) 답변이 더 간단하지만, Andrei의 답변이 MVC 애플리케이션에 더 나은 접근 방식이라고 생각합니다.
Andrei의 대답은 당신이 사용할 수 있다는 것을 의미합니다.HttpContext
당신이 사용하고 싶은 대로System.Web.HttpContext.Current
예를 들어, 다음 작업을 수행할 경우:
System.Web.HttpContext.Current.User.Identity.Name
대신 다음을 수행해야 합니다.
HttpContext.User.Identity.Name
둘 다 동일한 결과를 달성하지만 MVC 측면에서는 후자가 더 권장됩니다.
이 문제와 관련된 또 다른 유용하고 간단한 정보는 HttpContext 간의 차이입니다.전류 및 컨트롤러.MVC ASP.NET의 컨텍스트입니다.
언급URL : https://stackoverflow.com/questions/18309239/cant-access-to-httpcontext-current
'programing' 카테고리의 다른 글
facet_grid 플롯의 스트립 텍스트를 어떻게 조작할 수 있습니까? (0) | 2023.06.07 |
---|---|
'Microsoft' 파일 또는 어셈블리를 로드할 수 없습니다.보고서 뷰어.웹 양식' (0) | 2023.06.07 |
패싯 레이블 글꼴 크기 (0) | 2023.06.07 |
벡터에 따라 데이터 프레임 행 순서 지정 (0) | 2023.06.07 |
해시로 커밋을 찾는 방법은 무엇입니까? (0) | 2023.06.07 |