두 웹 사이트는 다소 다르지만 둘 다 동일한 서버에서 실행되지만 다른 응용 프로그램 풀에서 실행됩니다. 응용 프로그램 풀은 모두 "네트워크 서비스"자격 증명과 함께 실행되도록 구성됩니다.개발 상태가 아닌 생산 상태를 봅니다.
하나의 웹 사이트에서 -이 복사본을 개발 복사본이라고 부르면 악명 높은 "뷰 상태 검증 실패 MAC"오류가 나타납니다. 이 문제는 페이지가 20 분 동안 유휴 상태가 된 후에 다시 게시가 발생할 때 발생합니다. web.config 또는 컴퓨터 구성 파일에 컴퓨터 키를 지정하지 않았기 때문에이 사실을 알았습니다. 수동으로 응용 프로그램 풀을 재활용하면 오류가 예상대로 재생됩니다. 그래서 내 질문은 문제를 막을 수있는 방법에 관한 것이 아니라 오히려 을 알고 싶습니다. 오류가 생산이 아닌 dev에서 발생하는 이유는 무엇입니까? 두 사이트의 설정 사이의 유일한 차이점은 인증 방법입니다.
IIS 구성의 "기본 설정"섹션에서 사이트의 개발자 버전은 서비스 계정을 사용하여 연결하고 프로덕션 버전은 "응용 프로그램 사용자"(통과 인증)를 사용하도록 연결됩니다. 인증 설정에서 두 페이지 모두 가장 및 Windows 인증으로 구성됩니다.
이것이 유일한 차이점입니다. IIS가 사이트 및 응용 프로그램 풀 수준에서 인증을 처리하는 방법에 대한 지식은 상당히 제한적입니다. 하나의 설정으로 인해 시스템 키가 새로 고쳐지지만 다른 하나는 그렇지 않은 특별한 이유가 있습니까?
ViewState는 세션에 따라 다릅니다. 다시 게시하기 전에 세션을 무효화 (포기, 취소) 할 수있는 세션으로 어떤 속임수를 쓰고 있습니까? – JDPeckham
아니요. 그리고 명시된 바와 같이 두 사이트의 코드에는 차이가 없습니다. 유일한 차이점은 인증 방법 – Trent