2012-01-04 2 views
3

웹 응용 프로그램에서 이러한 오류가 매일 발생합니다.Base64 문자열의 문자가 잘못되었습니다 - ViewState?

Exception: System.FormatException: Invalid character in a Base-64 string. 
    at System.Convert.FromBase64String(String s) 
    at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) 
    at System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) 
    at System.Web.UI.HiddenFieldPageStatePersister.Load() 

오류가 ViewState의 디코딩에서 발생한다고 생각하지만 오류가 발생하는 것 같습니다. 나는 dev에 오류를 일으킬 수 없었다. 그리고 심지어 자극에서 나는 쉽게 오류를 재현 할 수 없습니다. 페이지에있는 데이터 뷰용 필터가 여러 개 있습니다. 다른 값을 선택하면 결국 오류가 발생하지만 알아낼 수있는 패턴이 아닙니다. 때로는 필터를 변경하는 것이 처음이고, 때로는 조합이 이루어지지 않을 수도 있습니다.

+0

다시 게시 될 때 ViewState와 함께 돌아 다니는 프록시/방화벽이 있습니까? – vcsjones

+0

보안 예외가 발생하지 않습니까? –

+0

우리는 그것도 너무 소수 있습니다. 나는 해커가 서버에서 무언가를 깨뜨릴 경우에 대비하여 이상한 일을 시도한다고 가정합니다. –

답변

0

는 다음 이유 중 하나 일 수

  • 응용 프로그램 풀 재활용
  • 서버 팜 또는 서버 클러스터
  • 프록시 서버와 내가 사용하는 것이 우선으로

바이러스 스캐너 machine.config의 특정 키가 각 프로세스 시작시 자동 키 생성을 방지합니다.

+0

변경하기 전에 서버 관리자로부터 회신을 기다리고 있습니다. 서버는 스테이징 서버이지만 호스트하는 일부 응용 프로그램의 프로덕션으로 사용됩니다. 내가 변화를 만들고 그것이 효과가 있는지보기 만하면 나는 돌아올 것이다. – virtuesplea

+0

이 서버는 서버 팜의 일부로 스테이징 서버로 간주 되더라도 중요한 웹 응용 프로그램을 호스팅하는 데 사용됩니다. 특정 키를 사용하는 경우 서버 팜에 속하기 때문에이 키 또는 다른 웹 앱에 잠재적으로 부정적인 영향을 미칠 수 있습니까? 이 서버에서 실행되는 다른 모든 사이트로 인해 컴퓨터 수준의 변경이 조금 불편합니다. – virtuesplea

+0

동일한 서버 팜에 속한 모든 상자에서 동일한 키를 사용하지 않는 경우 –

관련 문제