Chúng tôi có một hệ thống mà chúng tôi lưu trữ một vài ứng dụng WCF trong IIS. Một số ứng dụng này có thời gian khởi động kéo dài mất vài giây (nhiều hơn một người dùng sẽ rất vui khi chờ). Một khi nó đã hoạt động, mọi thứ đều rất vui, vì vậy nó thực sự chỉ là thời gian khởi động.Làm thế nào để: Tránh các vấn đề Cold-Start với IIS lưu trữ các ứng dụng WCF?
Khách hàng cũng có yêu cầu tái chế các hồ bơi ứng dụng mỗi đêm.
Có cách nào để đánh thức tất cả các dịch vụ này để thời gian khởi động không phải là vấn đề đối với người dùng đầu tiên của hệ thống không?
Những suy nghĩ ban đầu để viết một dịch vụ cửa sổ chỉ đơn giản gọi một phương thức nhẹ trên mỗi dịch vụ sau mỗi phút x (có thể cấu hình) để giữ ứng dụng hoạt động, nhưng vì chúng ta đang ở trong môi trường cân bằng tải và ứng dụng cần máy chủ cụ thể các tiêu đề được thông qua, chúng tôi sẽ luôn truy cập vào địa chỉ cân bằng tải có nghĩa là không có cách nào để chúng tôi đảm bảo rằng tất cả các dịch vụ trên tất cả các hộp trong cụm đều thực sự bắt đầu.
Vì một ứng dụng wcf duy nhất trong IIS chỉ có thể có một tiêu đề máy chủ duy nhất, cách duy nhất khác là thiết lập trang web thứ hai chỉ vào cùng một ứng dụng. Tôi chỉ không chắc chắn nếu điều đó sẽ làm các trick vì nó sẽ được trong một bối cảnh máy chủ.
tùy chọn khác có thể là xóa một số thứ như phần mở rộng cho IIS (không chắc chắn nếu điều này có thể) có thể gọi mỗi dịch vụ của chúng tôi khi IIS hoặc nhóm ứng dụng thực sự khởi động lại. (Cái gì mà chú ý khi các hồ bơi ứng dụng đã tái chế nhưng trước khi yêu cầu người sử dụng đầu tiên.
Bất kỳ ý tưởng sẽ được nhiều đánh giá cao.
Cảm ơn
Gineer
IIS7 có tính năng được gọi là Ứng dụng khởi động hoặc tương tự. –