2010-06-08 4 views
1

using an asynchronous controller의 MSDN 설명서에는 사용자가 요청을 취소 할 수있는 방법을 제공 할 때 비동기 컨트롤러를 선택하는 것이 나와 있습니다.ASP.NET MVC 2 비동기 작업 취소

실제로 사용자가 비동기 요청을 취소 할 수 있도록하는 것과 관련된 문서를 찾을 수 없습니다. ASP.NET 및/또는 ASP.NET MVC 프레임 워크에서 요청을 취소해야 함을 나타낼 수 있습니까?

답변

2

호출 한 비동기 API에서 .NET 4의 CancellationToken 클래스 또는 CancelAsync 메서드를 통해 요청을 취소 할 수있는 방법을 제공하는 경우 비동기 작업이 수행중인 모든 작업을 취소하려면 해당 호출을 호출해야합니다. 그렇지 않으면 AsyncManager.Finish (컨트롤러의 AsyncManager 속성을 통해)를 호출하여 MVC 프레임 워크가 XxCompleted 메서드를 즉시 호출하도록합니다. AsyncManager.Finish는 다른 취소 방법이없는 요청 (예 : CancellationToken이없는 BeginXx/EndXx 호출)을 해결해야하는 경우에만 사용해야하며 다른 시나리오에서는 항상 작동하지는 않습니다.

+0

감사합니다. 그게 내가 찾고 있던거야. –

1

기본 시간 초과는 45 seconds이므로 응답이 없으면 서버에 의해 취소됩니다. 그들은 하나의 HTTP 요청을 취소하는 것과 같이 사용자가 요청을 취소하는 것을 허용하지 않았고, 다른 방법으로 적절하지 않은 HTTP 요청을 작성하고 있습니다.