제대로 작동하려면 웹 페이지에 URL에 XML 파일이 추가되어야합니다.이 파일의 이름은 module-1.xml
입니다.IHttpModule의 OnBeginRequest 메서드에서 세션 변수에 액세스
이러한 URls를 깨끗하게 유지하려면 HttpContext.Current.RewritePath
을 사용하여 OnBeginRequest
이벤트 내에서 추가 작업을 수행하는 IHttpModule을 작성했습니다. 나는 사용자가 model-2.xml
에 model-1.xml
에서 웹 사이트를 전환 내 코드는 다음과 같이 변경하기로 결정 때를 감지하는 세션 변수를 사용하고 싶었,
public void OnBeginRequest(Object s, EventArgs e)
{
string url = HttpContext.Current.Request.Url.AbsolutePath;
if (url.EndsWith(".aspx"))
HttpContext.Current.RewritePath(url + "?module-1.xml");
}
을 지금 :
IHttpModule은 매우 간단 모양과 작동합니다 :
public void OnBeginRequest(Object s, EventArgs e)
{
string url = HttpContext.Current.Request.Url.AbsolutePath;
if (url.EndsWith(".aspx"))
{
if (HttpContext.Current.Session["CurrentMode"] == "1")
HttpContext.Current.RewritePath(url + "?module-1.xml");
else if(HttpContext.Current.Session["CurrentMode"] == "2")
HttpContext.Current.RewritePath(url + "?module-2.xml");
}
}
From what I have found 세션은 모듈 내부에 액세스 할 수 있지만없는 유일한 이벤트 여기서인 OnBeginRequest
이벤트 내부에서 은 기능적으로 만들 수 있습니다 (적어도 내가 수행 한 모든 테스트에서).
내 가정이 맞습니까? 그리고 만약 그렇다면, 어떤 대안을 사용할 수 있습니까? 사용자 정의 세션 변수를 만드시겠습니까? 사용자가보고있는 모듈을 알기 위해 txt 파일이나 DB에서 읽어야합니까? 모듈 내에서 사용자를 추적하려면 어떻게해야합니까?
감사합니다. – jdecuyper