Ai đó có thể chỉ cho tôi một tài nguyên có thể giúp giải thích cách api web (cụ thể sử dụng Owin Self Host
) xử lý yêu cầu hủy bỏ?OWIN SelfHost Web Api - Yêu cầu hủy - Làm thế nào nó được thực hiện? Hủy bỏ chủ đề?
Đây là chuỗi các sự kiện tôi đang quan sát:
- ai đó làm cho một
GET
từ chrome khiển - Api (thông qua một số lớp) tắt đám cháy một truy vấn async SQL
- một ai đó truy cập vào nút X trong chrome (tôi không biết chính xác điều gì xảy ra trên ổ cắm cho điều này)
Điều gì xảy ra tiếp theo trong Web Api ??
Có một số mã đang chạy trong bộ điều khiển, chuỗi chạy có bị hủy bỏ không? Nếu nó là một bộ điều khiển async đang chờ một Task khác, thì nhiệm vụ đó vẫn còn có một awaiter trong trường hợp nó trả về với một ngoại lệ?
Đối với ngữ cảnh: Tôi có bộ điều khiển async
đang chờ Nhiệm vụ (đây là trang web gọi duy nhất) có vẻ như đang ném một ngoại lệ không được giám sát trong một số trường hợp cạnh. Tôi chưa thể cách ly hoặc tái sản xuất được :)
Tôi đã tìm thấy một cái gì đó gọi là HttpResponse.ClientDisconnectedToken
, nhưng không biết rõ được hỗ trợ trong Owin Selfhost
+ là ngay cả điều tốt để sử dụng cho tất cả người dùng hủy .
Chúng tôi không thể giúp bạn trừ khi bạn bị mất mã. Điều này có vẻ như ai đó đang bắn ra một nhiệm vụ mà đi không quan sát, như ngoại lệ nói. Tôi giả định đây là .NET 4.0 –
@YuvalItzchakov: Xin lỗi nếu phần ngoại lệ gây nhầm lẫn (chỉnh sửa để xóa nó). Tôi đã đặt nó như là bối cảnh cho lý do tại sao tôi muốn hiểu những gì api web đang làm với các yêu cầu, câu hỏi thực sự của tôi vẫn còn xung quanh những gì api làm gì? – Vivek
là một cách khác để hỏi cùng một câu hỏi mà bạn đã hỏi trước đó: http://stackoverflow.com/questions/30109260/owen-selfhost-webapi-client-closing-the-connection-during-response-raises-an-e ? – Claies