2009-05-06 22 views
19

Có cách nào để theo dõi (log) lý do khởi động lại ứng dụng ASP.NET không?Cách khám phá lý do khởi động lại ứng dụng ASP.NET

Hiện chúng tôi đang gặp sự cố với trang web khá phức tạp. Nó khởi động lại trong khi tải lên tệp. Không phải trên mọi tệp, nhưng vào mỗi ngày 5 đến 10 chắc chắn. Chúng tôi sử dụng VirtualPathProvider tùy chỉnh, vì vậy đây có thể là một lý do. Chúng tôi cũng có một chủ đề công nhân nền, và điều này cũng có thể là một lý do. Thật tuyệt vời khi biết lý do.

Sự cố xảy ra trên XP (IIS 5.1) và Windows Server 2003 (IIS 6).

Độ phân giải:

Thanks guys, chúng tôi đã quản lý để nắm bắt nó. Nó được gây ra bởi tối đa recompilations đạt. Rất có thể vấn đề nằm trong VirtualPathProvider của chúng tôi, nhưng đây là câu hỏi hoàn toàn khác.

Tóm tắt các phương pháp:

  1. Hack trong blog của ScottGu hoạt động hoàn hảo.
  2. Giám sát qua machine.config cũng rất tuyệt, nhưng tôi muốn đăng nhập vào nhật ký của chúng tôi.
  3. Hóa ra, giải pháp đơn giản nhất là kiểm tra HostingEnvironment.ShutdownReason thuộc tính trong phương thức Application_End của tôi.
+0

Vui lòng nói phiên bản IIS bạn đang sử dụng. Tôi tin rằng tôi đã nhìn thấy IIS 7 đăng nhập các sự kiện này trong sổ ghi sự kiện Windows. –

+0

Được thử nghiệm trên XP và Windows Server 2003. Vì vậy, IIS 5.1 và 6. – XOR

+0

Vui lòng cụ thể hơn. Tại thời điểm đó là nó khởi động lại? – haroldcampbell

Trả lời

5

Thêm hoặc xóa thư mục bên trong thư mục applicaton sẽ khiến hồ bơi ứng dụng tái chế (lý do có thể nhất trong trường hợp của bạn) cùng với nhiều thứ khác. Dưới đây là một bài viết thú vị:

http://blogs.msdn.com/johan/archive/2007/05/16/common-reasons-why-your-application-pool-may-unexpectedly-recycle.aspx

trên cùng một trang web là một số gợi ý tốt về cách theo dõi khởi động lại đó là những gì bạn đã thực sự yêu cầu. Các lựa chọn là web.config và EventViewer hoặc Performance Monitor.

http://blogs.msdn.com/johan/archive/2008/02/18/monitoring-application-pool-and-application-restarts.aspx

+0

Tôi biết. Nhưng chúng tôi không viết bất cứ điều gì vào một thư mục bin. Configs cũng bị ảnh hưởng. Chúng tôi cũng có rất ít trang .aspx và chúng không thay đổi. Trong thực tế, đây là ứng dụng web - cách tiếp cận thời trang cũ khi bạn biên dịch mọi thứ vào thư mục bin. (Nhưng đây không phải là * trang web biên dịch trước *). – XOR

+0

Có, nhưng các tệp tải lên của bạn ở đâu? Bạn có tạo thư mục người dùng hay gì không? Là nó bên trong ROOT của ứng dụng? ví dụ. C: \ inetpub \ wwwroot \ myapp –

+1

Đã thêm một số thông tin khác để bạn tìm hiểu điều gì có thể xảy ra. –

2

Tess Ferrandez, ASP.NET Kỹ sư Escalation có một blog tốt với tất cả các loại mẹo và thủ thuật để gỡ rối các ứng dụng ASP.NET.

Các bài viết bạn đang đặc biệt quan tâm là:

Cô sẽ đưa bạn qua các bước tham gia vào làm việc ra vấn đề là gì, và làm thế nào để giải quyết nó.

Một điều cần lưu ý là các tệp quét phần mềm chống vi-rút trong thư mục gốc của trang web - điều này có thể thay đổi ngày sửa đổi của tệp và khiến ứng dụng tái chế.

+0

Cảm ơn! Blog của cô ấy rất tuyệt. – XOR

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