5

thể trùng lặp:
How to prevent an ASP.NET application restarting when the web.config is modified?Bạn có thể sửa đổi web.config và KHÔNG khởi động lại ứng dụng ASP.NET không?

Được chỉ nghĩ về thời gian hoạt động. Cảm ơn.

+0

Có lẽ các thiết lập lưu trữ ở đó nên được chuyển ở một nơi khác nếu thời gian hoạt động là mối quan tâm của bạn. Bạn đang thay đổi điều gì? Nó có phải trong web.config không? –

+0

VTC để sao chép. Xem http://stackoverflow.com/questions/613824/how-to-prevent-an-asp-net-application-restarting-when-the-web-config-is-modified – Brian

+1

Có nhiều điều cần xem xét hơn là chỉ ứng dụng asp.net khởi động lại khi thay đổi web.config của bạn trên bay ... –

Trả lời

14

Có, bạn có thể; xem this answer.

Tuy nhiên, đó không phải là ý hay.
Cho đến khi ASP.Net khởi động lại AppDomain, nó sẽ không xem xét web.config.
Nếu bạn thay đổi web.config, thay đổi của bạn sẽ không có hiệu lực cho đến khi AppDomain được khởi động lại.

0

Hồ bơi ứng dụng sẽ đặt lại khi bạn sửa đổi wed.config và bạn sẽ mất mọi thông tin phiên được lưu trữ trên máy chủ.

+0

@ downvoter: Umm ok..so bạn không nghĩ rằng việc đặt lại hồ bơi ứng dụng là một điều xấu? –

1

Bạn có thể thiết lập vùng chứa IIS trùng lặp trên một địa chỉ IP/tên máy chủ khác. Thực hiện sửa đổi của bạn cho phiên bản mới và sau đó trao đổi của ip hơn. Nó được thoát khỏi thời gian biên dịch của ứng dụng khởi động lại. Tuy nhiên, nếu bạn dựa vào phiên trong proc thì tất cả mọi người sẽ gặp lỗi đối với bất kỳ người dùng hiện tại nào.

Tùy chọn an toàn nhất là cho phép ứng dụng khởi động lại và chỉ cần chọn thời điểm thích hợp để thực hiện. Bạn cũng có thể thiết lập batch compilation = false. Điều này cũng có thể tăng tốc thời gian biên dịch trong các hệ thống quan trọng.

8

Bạn có thể tạo tệp cài đặt bên ngoài và sau đó tham chiếu tệp đó trong web.config của bạn. Bạn sẽ cần thay đổi thuộc tính "restartOnExternalChanges" thành false trong tệp machine.config của bạn.

Xem: http://msdn.microsoft.com/en-us/library/ms228057.aspx

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