당신은 아마 당신이 내 세션 ID + 뭔가를 사용할 수 HttpModule을 (매번 명중) 세션에 대해 고유 한 몇 가지 핵심 (와 응용 프로그램 개체를 확인하는 사용할 수 있습니다 키). 이전 세션의 객체에 액세스하기 위해이 작업을하고 있습니다. 원하지 않는 경우를 대비하여 특정 세션에 고유하지 않은 키를 설정할 수 있습니다.
모듈이 공격을 받았고 특정 세션에 대해 Application Object에서 개체를 찾지 못하면 개체를 만들고이 HTTPModule 클래스에 정적으로 설정합니다.
다음 코드는 현재 세션에 대해 HTTPApplication 객체에 객체가없는 경우 도움이 될 수 있습니다. 이전 세션 객체가 필요 없으면 HTTPSession 객체를 사용하여 ClassA 객체의 가용성을 확인할 수도 있습니다. HTTPSession에서는 HTTPSession에 객체를 저장할 필요가 없습니다. 모듈 클래스에서이를 제공합니다).
HTTPModule 클래스에는 다음을 추가해야합니다. 응용 프로그램의 다른 클래스에서이 HTTPModule 클래스에서 액세스 할 수있는 정적 변수입니다.
/* HTTP Module Class */
public class SomeModuleClass
{
public static ClassA classA = null;
private void someFunctionOfModuleFiringEverytime()
{
/* if there is no instance of ClassA in HTTPApplication or HTTPSession object*/
SessionManager sessionManager = new SessionManager();
/* one object of SessionManager gives back one object of ClassA always*/
classA = sessionManager.getClassA();
}
}
/* an assembly which is making the Class A instance*/
public class SessionManager
{
private ClassA classInstance=null;
public ClassA getClassA()
{
if (classInstance == null)
classInstance = new ClassA();
return classInstance;
}
}
/* class from another assembly*/
public class ClassA
{
public ClassA()
{
}
}