내 응용 프로그램에 정적 클래스가 있습니다. 응용 프로그램을 실행할 때 디버깅을 중지하고 다시 시작하면 이러한 변수가 메모리에 남아 있음을 알 수 있습니다! 따라서 응용 프로그램이 종료되면 응용 프로그램이 종료되고 응용 프로그램의 다음 인스턴스에 다시 연결됩니다. 예상대로 정말 미친 결과가납니다.응용 프로그램을 중지하면 ASP.NET 정적 변수가 유지됩니다!
응용 프로그램이 종료 될 때 정적 변수가 프로그램 자체에서 삭제되도록 말할 수 있습니까?
ASP.NET에서 정적 변수를 전혀 쓸모 없게 만들지 않습니까? 나는 사람들이 코드에서 "정적"이라는 단어를 사용했기 때문에 누가 웹 서버를 시작/중지 할 코드를 작성하겠습니까? – Petras
그게 당신이 그들을 사용하는 따라 달라집니다. 그것들은 유용 할 수 있지만 테스트를 어렵게 만들고, 읽기 전용 변수가 아닌 경우 수동으로 잠금을 관리해야합니다. 그러면로드가 내려지면 용융물을 피할 수 있습니다. 응용 프로그램 상태에서 값을 저장하는 것이 더 좋습니다. Application [ "foo"] = value; ' –
Application 객체는 또 다른 정적 변수입니다. 또한 잠금을 관리하는 몇 가지 방법이 있지만 기본적으로 다른 정적 변수와 다르게 동작하지는 않습니다. – RickNZ