장기 실행 작업이 끝날 때까지 ASP.NET 페이지를 유지하는 가장 좋은 방법은 무엇입니까? [닫은

StackOverflow https://stackoverflow.com/questions/901954

문제

자바 스크립트?

메타 태그 새로 고침?

Response.Redirect (자기)

Server.Transfer (자기)

Ajax 업데이트 패널?

도움이 되었습니까?

해결책

옵션을 살펴 보겠습니다.

자바 스크립트?

사용자가 비활성화하지 않는 한 잘 작동합니다.

메타 태그 새로 고침?

JavaScript 방법에 유리한 더 이상 사용되지 않은 방법. 그러나 사용자가 JavaScript를 비활성화 한 경우 백업으로 사용할 수 있습니다.

Response.Redirect (자기)

브라우저가 리디렉션하는 동안 사용자에게 유용하지 않기 때문에 작동하지 않습니다. 또한 브라우저는 사용자를 무한 리디렉션으로부터 보호하기 위해 특정 수의 리디렉션 후 요청을 중지합니다.

Server.Transfer (자기)

서버의 코드는 브라우저에 아무것도 보내지 않고 루프만으로도 작동하지 않습니다. 효과는 코드에 루프를 갖는 것과 동일합니다.

Ajax 업데이트 패널?

사용자가 JavaScript를 비활성화하지 않는 한 잘 작동합니다. 기본적으로 첫 번째 옵션과 동일합니다. JavaScript만이 브라우저가 요청을하도록 요청 자체를 수행합니다.

다른 팁

어떤 종류의 진행 상황을 사용자에게보고 할 수 있다면, 나는 ASXH와 변형으로 실행하는 경향이 있습니다. 영원히 프레임. 약간 추가하십시오 jQuery UI 대화 상자 그리고 JQuery UI 진행률 표시 줄 그리고 서버에서 무거운 리프팅을하는 동안 사용자를주의를 기울이는 반짝이는 방법이 있습니다.

나는 몇 가지 예제 코드를 주었다 874204 그것은 기술을 보여줍니다.

사용자에게 진행할 수없는 경우 여전히 UI 대화 상자를 사용하는 경향이 있으며 웹이있는 두 개의 도트 OH 준수 Spinny GIF와 함께 "제발 기다리며 처리합니다 ..."메시지를 나타냅니다.

이 기사를 확인하십시오 비동기 페이지. 여기에도 예입니다 CodeProject 여기에는 비동기 페이지와 메타 리프레 쉬가 포함됩니다.

Beer House 스타터 키트에서 이러한 종류의 기능을 샘플 구현 할 수 있습니다. http://www.asp.net/downloads/starter-kits/the-beer-house/.

SendNewSletter.aspx 및 SendNewsletter.aspx를 보내는 페이지가 유용합니다. 이것은 당신의 필요에 대한 과잉 일 수 있지만, 장기적인 운영의 진행 상황을 보여줍니다.

사용은 어떻습니까 Ajax WebModalanchor 취소 버튼으로 창을 팝업하려면?

도움이 되었기를 바랍니다,

계산서

Ajax를 사용하고 UpdateProgress를 표시하여 사용자가 여전히 휘젓고 있음을 알 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top