내가 때문에 복잡성이 솔루션과 완전히 편안 적이 없습니다 Asp.net에서 응용 프로그램 풀을 다시 시작 관련 코드를 찾을 수 있지만, 보안 요구 사항이 명확하지 않기 때문에 (이 경우 응용 프로그램 사용자에게 권한을 부여해야한다면 이는 또 다른 구성 단계 일뿐만 아니라 보안 위험이기 때문에 응용 프로그램 사용자가 응용 프로그램 풀을 재활용 할 수있는 권한을 갖는 것처럼 보입니다 무차별 적으로, 특히 네트워크를 통해, 레버리지가 될 수있다. DOS 공격에서 ged).
내가 제한된 상황에서 재시작으로 해결할 수 있었지만 실행 중 감지 할 수 있었지만 아직 더 맛있는 코드 변경을 막을 수는 없었으며 많은 연구 끝에 몇 가지를 경험했습니다. 다른 솔루션 (OK-해킹)을 수행하십시오. 1. 새로 생성 된 스레드 인 2. Environment.Exit()
및 3. System.Web.HttpRuntime.UnloadAppDomain()
에 처리되지 않은 예외를 발생시킵니다. 이것들은 진행중인 모든 요청을 종료하는 다소 불쾌한 부작용을 가지는데, 이는 끔찍한 해킹이지만, 경우에 따라 (조건에 의해 어쨌든 대다수의 요청이 올바르게 처리되지 않는 경우와 같이) 용인 될 수 있습니다.
System.Web.Hosting.HostingEnvironment.InitiateShutdown();
내 테스트는 를 정확히 않는다는 것을 보여 주었다 : 나는 최근 훨씬 간단하고 완전히 WMI
을 방지이 작은 보석을 우연히 발견 될 때까지
이 해킹에 대한 혐오 년 동안 나와 함께 남아있다 내가 필요한 것, 그리고 나는 그것이 당신이 원했던 것이라고 믿습니다. 문서에 따르면, 그것은 .NET 2.0
이래로 주변에 있었지만, 며칠 전까지는 내 연구에서 그것을 결코 발견하지 못했습니다.
동일한 응용 프로그램 풀에서 호출하는 경우이 기능이 작동합니까? – Tuviah
@Tuviah : 코드를 실행 해보시겠습니까? 실행중인 동일한 응용 프로그램 풀에 동일한 작업을 수행해야합니다. – Tarik
@ P.s : 동일한 응용 프로그램 풀에서 작동하지 않는 경우 다른 응용 프로그램 풀에서 실행되는 페이지를 만들고 해당 페이지를 실행하여 원하는 응용 프로그램 풀을 재생할 수 있습니다. 작업을 처리하는 별도의 작업자와 같습니다. – Tarik