내 자신을 해결했습니다. 예. 예! :)
IHttpHandler 인터페이스는 GetHttpHandler 메소드에 RequestContext를 제공하기 시작했습니다.
그래서 기본 페이지 클래스를 수정했습니다. (저는 항상 System.Web.UI.Page와 내 자신의 페이지 사이에 레이어를 둡니다.이 페이지는 BasePage 또는 이와 유사한 목적으로 만 사용되었습니다). 그래서 PVBasePage에 public 속성을 추가하여 RequestContext 객체를 수신했습니다.
IHttpHandler IRouteHandler.GetHttpHandler(RequestContext requestContext)
{
// create the page object as my own page...
var page = BuildManager.CreateInstanceFromVirtualPath(VirtualPath
, typeof(PVBasePage)) as PVBasePage;
// pass in the request context
page.RequestContext = requestContext;
// return this page in the form of a IHttpHandler
return page as IHttpHandler;
}
을 그래서 대신에, 샘플 코드와 같이 직접 IHttpHandler를, 나는 내 자신의 페이지로 만들 인스턴스를 생성 다음과 같이
public RequestContext RequestContext { get; set; }
그런 다음 내 라우팅 클래스 코드입니다. 요청 컨텍스트 속성을 설정하고 페이지를 IHttpHandler 인 호출자에게 반환합니다.
테스트를 거쳤습니다. 우 후!
다른 사람이 길을 가는데 도움이되기를 바랍니다.