2010-04-21 3 views
2

생산에 이상한 버그가 있으며 제출 된 웹 페이지의 절반을 서버에서 처리 할 수 ​​있는지 궁금하십니까?asp.net은 (는) 웹 페이지를 처리 ​​할 수 ​​있습니까?

페이지는 요청이 아마도 의한 절단하는 것이 가능하기 바로으로 Request.Form [이름] 등

통해 백엔드 중계기 표시 옛날부터 HTML 제어 및 액세스 데이터를 이용하여 더 뷰 상태가없는 손실 된 인터넷 연결 및 서버에서 계속 처리하는 페이지 따라서 Request.Form [name] 요청의 일부가 아닌 필드가 null이 될 수 있다면?

나는 요청을 수정할 피들러를 사용할 수 있지만 불행히도 우리는 그룹 정책을 변경하고 프록시를 변경할 수 없습니다!

많은 감사합니다.

답변

1

인터넷 연결이 끊어져서 요청이 잘 리거나 서버에서 여전히 처리 할 수 ​​있습니까?

예 : 일부는 제출 버튼을 누르면 페이지가 완전히로드되지 않아도 브라우저가 양식을 닫고 그 순간까지 제출 한 내용을 제출하십시오. !

페이지가 가득 차 있는지 확인하려면 왼쪽 EnableEventValidation = true 페이지가 완전히 전송되지 않으면 오류가 발생합니다.

또한 Page.IsValid 함수도 비슷한 작업을한다고 생각합니다. 페이지가 isValid이면 모든 데이터를 얻습니다.

페이지의 일부분에 지연이 있으면 그때까지 데이터 브라우저에있는 정보를 얻게됩니다.

내가 말하는 내용을 테스트하려면 페이지가이 지연 시간에 도달하면 버튼을 클릭하고이 시점까지만 데이터를 가져옵니다. MS는 (그것은 당신이 사용할 수있는 경우는 제외), 확인하기 위해 모든 페이지에서 __EVENTVALIDATION 숨겨진 컨트롤을 포함하는 이유

<% 
Response.Flush(); 
System.Threading.Thread.Sleep(10000); 
%> 

모든 페이지가 손상된 데이터와 함께 제출 할 수

을 여러 번 발생하고 이잖아 페이지가 수정되면 다시 보내주십시오.

+1

감사의 말로 지금 제안을 복제하고 이상한 행동을 설명 할 수 있습니다. – c00ke

0

이것은 불가능합니다. 페이지가 제출되었거나 제출되지 않았습니다.

문제를 디버깅하려면 모든 양식 필드 (이름 및 값)를 기록하고 오류를 찾으십시오. 동일한 ID 또는 Name을 사용하고 있기 때문에 필드를 잃어 버릴 가능성이 있습니다.

관련 문제