Tôi đang xây dựng một dịch vụ WCF sẽ trưng ra một số hoạt động, nó sẽ chạy trong IIS vì nó cần các điểm cuối HTTPS. Hầu hết các hoạt động sẽ thực hiện trong vòng vài giây hoặc ít hơn; tuy nhiên, một hoặc hai hoạt động này sẽ mất từ 5 đến 90 phút.Cách chính xác để xử lý các hoạt động dịch vụ chạy dài với WCF được lưu trữ trong IIS là gì?
Người tiêu dùng chính của dịch vụ này sẽ là ứng dụng ASP.NET MVC; cách chính xác để xử lý điều này là gì?
Tôi có nên tăng thời gian chờ và thực hiện một số cuộc gọi ajax không? Tôi có nên thêm một bảng vào cơ sở dữ liệu của tôi, và có các hoạt động chạy dài cập nhật cơ sở dữ liệu này, và có giao diện web thăm dò ý kiến bảng này mỗi phút? Tôi không chắc chắn những gì (nếu có) thực hành tốt nhất được chấp nhận chung cho việc này.
Nếu các hoạt động chạy dài không chuyển dữ liệu, thì có thể bạn nên chia nhỏ dữ liệu này thành bộ xử lý không đồng bộ. Vì vậy, khách hàng sẽ yêu cầu công việc được bắt đầu, sau đó kiểm tra lại trong khoảng thời gian thường xuyên để có được một trong hai phản ứng hoặc một tin nhắn nói rằng kiểm tra lại sau. – Noah
@Noah, các hoạt động chạy dài không trả lại nhiều dữ liệu, cho đến khi chúng hoàn tất, nơi chúng trở về một thông báo 50kb. – Nate
Bạn chắc chắn không nên giữ một kết nối http mở trong thời gian dài nếu bạn không chuyển dữ liệu, vì vậy tốt nhất nên chia nhỏ nó. @Jim cung cấp một ví dụ tốt. – Noah