Trừ khi bạn đang thực hiện một số tệp đang xem trên các tệp cụ thể, bạn có thể cập nhật tệp aspx hiện có mà không cần bất kỳ ứng dụng nào bị chậm lại. Lần tiếp theo người dùng làm mới trình duyệt, họ sẽ thấy cập nhật trang. Hãy cẩn thận, nếu bạn đã thêm các điều khiển máy chủ bổ sung vào trang và DLL chưa được cập nhật, bạn sẽ gặp sự cố.
Nếu bạn cập nhật tệp web.config hoặc DLL cho ứng dụng, điều này sẽ kích hoạt tải lại quy trình nhân viên ASPNET và bất kỳ người dùng mới nào sẽ bị "trễ đầu tiên" mà bạn thường có thể mong đợi.
Nếu bạn đang lo lắng về quá trình này, và có thể đủ khả năng một chút "thời gian xuống" Tôi muốn đề nghị bạn tạo một kịch bản nào sau đây:
Tải lên một file có tên app_offline.htm để gốc của ứng dụng web. IIS sẽ ngay lập tức thấy tệp này và chuyển hướng người dùng đến tệp đó và không thực hiện bất kỳ quá trình xử lý .NET nào. Bạn thậm chí có thể giữ một tệp có tên App_Offline_Disabled.htm trong thư mục gốc và chỉ cần đổi tên nó khi thời gian là đúng.
Sao chép tất cả các tệp của bạn cần được cập nhật, ghi đè/đổi tên/sao chép nếu cần.
Xóa (hoặc đổi tên) tệp App_Offline.htm của bạn để IIS sẽ bắt đầu hướng người dùng đến ứng dụng đã cập nhật. Nếu bạn đang xem tập lệnh chạy, bạn thậm chí có thể tự mình truy cập trang web để nhận hình phạt "tải đầu tiên" để người dùng cuối của bạn sẽ thấy mọi thứ đẹp và sắc nét như mọi khi.
Một lần nữa, tôi không biết liệu quá trình này có thể dễ dàng viết để cung cấp quy trình loại tự động tốt hay không.
Nguồn
2009-07-17 21:07:59
'cái thẻ monkeypatching' là không thích hợp - đó là cái gì khác hoàn toàn –
Cảm ơn. Nhấp vào nó do nhầm lẫn. Có nghĩa là "vá" –