2012-05-14 2 views
6

어떻게 든 내 사용자 지정 데이터를 내 IIS 사용자 지정 모듈이 처리하는 HttpRequest에 연결해야합니다. 즉, IIS 파이프 라인의 초기 단계에서 실행되는 코드는 개체를 첨부하고 이후 단계에서 실행되는 코드는 개체를 검색하여 사용할 수 있습니다. IIS 파이프 라인 처리의 다른 기능은 해당 개체를 추가하여 변경되지 않습니다.일부 맞춤 데이터를 현재 HttpRequest와 연결하려면 어떻게해야합니까?

데이터는 하나의 HTTP 요청 내에서만 유지되어야합니다. 요청 사이에 데이터를 저장할 필요가 없습니다. 새 요청마다 자동으로 "재설정"해야합니다. 그러면 새 요청이 오면 이전 요청에 내 코드가 첨부 된 객체가 포함되지 않습니다.

MSDN의 목적에 대한 설명이 명확하지 않더라도 HttpContext.Items과 같은 모양입니다.

내 문제를 해결하는 방법은 무엇입니까?

+0

죄송합니다. 내 대답을 삭제했습니다. 귀하의 질문을 완전히 이해하지 못하는 것 같습니다. 당신이 정교 할 수 있니? –

+0

@Royi Namir : 질문을 업데이트했습니다. – sharptooth

+0

예, 'HttpContext.Items'는 시나리오에서 원하는 것입니다. 합의한 MSDN 설명은 꽤 간결하지만, 당신이 작업하게 될 모든 것이'IHttpMandule' 또는'IHttpHandler' ('System.Web.UI.Page' 예를 들면'IHttpHandler'를 구현할 것입니다.). –

답변

4

이렇게하면됩니다. 이전에 프로젝트에서이 작업을 수행했습니다.

public class AppManager 
{ 
    public static RequestObject RequestObject 
    { 
     get 
     { 
      if (HttpContext.Current.Items["RequestObject"] == null) 
      { 
       HttpContext.Current.Items["RequestObject"] = new RequestObject(); 
      } 

      return (RequestObject)HttpContext.Current.Items["RequestObject"]; 
     } 
     set { HttpContext.Current.Items["RequestObject"] = value; } 
    } 
} 

그리고 RequestObject 내 응용 프로그램에서 나는 지금까지 내가 가지고

AppManager.RequestObject.CustomProperty 

을 할 수 있도록 다음 내 모든 사용자 데이터를 포함 -

이 같은 정적 속성을 가진 클래스가 HttpContext.Items가 작동하는 방식에 문제가 생기지 않습니다.

관련 문제