2009-05-26 43 views
13

Tôi đã phát triển ứng dụng web đầu tiên của mình, đáng ngạc nhiên, đang trở nên rất phổ biến.Đặt một trang web ở chế độ bảo trì?

Vì trang web hiện đang hoạt động, tôi gặp khó khăn khi thực hiện một số thay đổi, vì sợ một số người vẫn đăng nhập và đang sử dụng ứng dụng.

Tôi muốn tránh việc có một phiên bản ứng dụng web trùng lặp để thử nghiệm.

Có cách nào để đặt trang web trong 'chế độ bảo trì' chỉ với tôi có quyền truy cập vào nó không? Giống như chuyển hướng đến một trang có thông tin nào đó, hãy nói với chế độ bảo trì của nó.

Cảm ơn. :-)

Trả lời

22

Bạn chỉ cần thả một tệp có tên là app_offline.htm vào thư mục gốc của trang web và ASP.NET sẽ tự động định tuyến tất cả lưu lượng truy cập đến trang này. Tệp này có thể chứa bất kỳ HTML nào bạn muốn cho biết rằng trang web của bạn bị ngừng hoạt động trong một thời gian ngắn do bảo trì.

Để biết thêm thông tin xin vui lòng đọc App_Offline.htm and working around the "IE Friendly Errors" feature:

Cách app_offline.htm hoạt động là bạn đặt tập tin này trong thư mục gốc của ứng dụng . Khi ASP.NET thấy nó, nó sẽ tắt miền ứng dụng cho ứng dụng (và không khởi động lại nó cho các yêu cầu ) và thay vào đó hãy gửi lại nội dung của tệp app_offline.htm để phản hồi tất cả động mới yêu cầu cho đơn đăng ký. Khi bạn đã cập nhật xong trang web, chỉ cần xóa tệp và tệp sẽ quay lại trực tuyến .

0

Phiên bản ASP.NET nào? Tôi chắc chắn có một triệu cách thanh lịch hơn để làm điều này, nhưng bạn có thể thay đổi Tài liệu Mặc định trong IIS để chuyển hướng đến Maint.html (hoặc tương tự).

6

Không có chức năng tích hợp sẵn trong ASP.NET ngoại trừ app_offline.htm không hoàn toàn phù hợp với nhu cầu của bạn vì ngay cả khi bạn sẽ bị từ chối truy cập vào trang web. Bạn phải tự xây dựng nó nhưng điều này được thực hiện tốt nhất trên các bộ định tuyến và mức cân bằng tải hơn ở mức ứng dụng. Tất nhiên điều này sẽ phụ thuộc vào kiến ​​trúc mạng của bạn.

31

Tôi muốn tránh bị trùng lặp phiên bản của ứng dụng web cho thử nghiệm .

Đó là vấn đề của bạn ngay tại đó. Đối với bất cứ điều gì nhưng các trang web tầm thường nhất, bạn nên có một trường hợp dàn dựng hoặc phát triển. Bạn nên sử dụng điều khiển nguồn và có tập lệnh để cập nhật phiên bản chính.

+0

điểm rất tốt. Một cái gì đó tôi sẽ phải xem xét điều đó. Dự án này thực sự đã đưa tôi vào một số khía cạnh khác nhau. :-) – janhartmann

+0

+1 @jskulski. Tôi không nghĩ rằng điểm này có thể được nhấn mạnh đủ. Bạn cần phải có ít nhất một môi trường giai đoạn/UAT phù hợp với môi trường sản xuất của bạn càng nhiều càng tốt. Làm cho những sai lầm của bạn ở đó thay vì sản xuất. Thậm chí tốt hơn để có một môi trường phát triển và kịch bản thay đổi của bạn từ đó đến Giai đoạn. Điều đó cho phép bạn nắm bắt các lỗi triển khai và cho phép triển khai sản xuất trơn tru. – wcm

+0

Đây sẽ là giải pháp của tôi, tôi nên xem xét kiểm soát nguồn. Chưa từng sử dụng nó trước đây. Cảm ơn đã chỉ cho tôi theo một hướng mới! Nếu có điều gì đó tôi phải đọc về kiểm soát nguồn, tôi sẽ rất vui nếu bạn chia sẻ thông tin. :-) – janhartmann

2

Bên cạnh việc xây dựng bản sao của trang web để tạo bản vá và sửa lỗi, bạn có thể thông báo một trang web đóng để bảo trì trước vài ngày không? Tôi không phải là một lập trình viên web, nhưng bạn có thể muốn xem xét những gì Hattrick, một quản lý bóng đá trực tuyến phổ biến, làm gì để duy trì trang web của họ.Họ sử dụng hệ thống thông báo trên trang chủ, sau khi người dùng đăng nhập, thông báo khi bảo trì sẽ diễn ra (thường là muộn vào ban đêm ở châu Âu nơi có phần lớn người chơi và tất cả các nhà phát triển) và họ đóng trang web trong một vài giờ. Khi họ đưa trang web xuống, họ đăng một trang, sử dụng cùng một kiểu với phần còn lại của trang web và cung cấp ước tính thời điểm trang đó sẽ hoạt động trở lại. Đơn giản, thanh lịch, và khi kết hợp với việc tuyên bố dài nó dường như làm một công việc tốt để xoa dịu cơ sở người dùng.

Cung cấp cho người dùng một thời gian dài rằng việc bảo trì theo kế hoạch được lên kế hoạch diễn ra và cung cấp cho họ một số ý tưởng về điều đó và hầu hết mọi người sẽ có thể đáp ứng thời gian ngừng hoạt động. Không có gì là bực bội hơn là cố tình đi đến một ứng dụng web đã được lên và chạy 10-20 phút trước để tìm thấy nó đột nhiên không có sẵn và xuống để bảo trì.

Các vấn đề liên quan