Bất cứ khi nào vai trò Windows Azure bị dừng, phương thức OnStop()
được gọi. Hóa ra rằng có RoleEnvironment.Stopping
event được kích hoạt trước khi OnStop()
được gọi. MSDN cho biết sự kiện này là nơi thích hợp cho vai trò tắt mã sạch.Sự khác biệt giữa phương thức OnStop() và sự kiện Dừng trong vai trò Windows Azure là gì?
Sự khác nhau giữa hai loại là gì? Tại sao tôi phải đặt mã tắt máy sạch vai trò trong sự kiện Stopping
chứ không phải trong ghi đè phương thức OnStop()
?
Vâng, ông nói rằng sự kiện này được kích hoạt trước khi 'OnStop()' được gọi. Tôi không thấy bất cứ điều gì ngoài điều đó trong bài viết đó. – sharptooth
Như tôi đã hiểu, và thừa nhận rằng tôi chưa tập trung vào việc kiểm tra điều này, Stopping là cảnh báo đầu tiên của bạn để dọn dẹp. Vì vậy, tại thời điểm này bạn có thể ngừng tham gia vào nhiều công việc hơn (kéo từ hàng đợi, tắt trình nghe điểm cuối nội bộ của bạn). Nó cũng là một sự kiện không đồng bộ. OnStop là nỗ lực cuối cùng của bạn để dừng lại và bạn chỉ có 5 phút để hành động và được gọi trực tiếp bởi tác nhân Azure Fabric. Tất cả điều này không cần phải thăm dò nhiều hơn nhưng chỉ đơn giản là không cao trong danh sách ưu tiên của tôi. Nó thậm chí có thể là hai mục này chạy trong các ngữ cảnh bảo mật khác nhau. – BrentDaCodeMonkey