Tôi có một dịch vụ WCF "cũ" khá lớn với nhiều phương pháp khác nhau.Thay đổi thời gian chờ cho mỗi phương thức WCF hoặc gọi
Hầu hết các phương pháp này là "bình thường", vì vậy chúng phải trả lời trong vòng chưa đầy 10 giây nhưng có một số phương pháp (8 hoặc 9) là các quy trình dài để chúng có thể mất nhiều thời gian để nhận phản hồi.
Receeasedout và sendtimeout được đặt thành 00:40:00 để đảm bảo họ có đủ thời gian để hoàn thành các quy trình này.
Vấn đề là đôi khi chúng ta có những vấn đề kết nối và các phương pháp "bình thường" mất một thời gian rất dài để sụp đổ ...
Họ là tất cả trong cùng một dịch vụ vì họ sử dụng một mô hình thực sự lớn và họ muốn tái sử dụng mô hình từ dịch vụ trong mọi cuộc gọi (không có PersonsService.User và RobotsService.User ... vì chúng là cùng một lớp trong các dịch vụ khác nhau).
Giải pháp đầu tiên tôi hình dung là tạo một Dịch vụ khác với các quy trình dài và đặt thời gian chờ ngắn thành dịch vụ bình thường ... nhưng tôi phải thực hiện nhiều thay đổi do sử dụng Mô hình ...
Có cách nào để đặt thời gian chờ khác nhau trong mỗi cuộc gọi không? Hoặc bằng phương pháp dịch vụ? Tôi có nên chunk Dịch vụ không?
Cảm ơn trước !!
được bạn tái tạo lại đối tượng proxy cho mỗi cuộc gọi? nếu có, hãy xem liên kết này để có giải pháp có thể có: http://stackoverflow.com/questions/1826392/programatically-set-wcf-timeout-in-debug-mode – wal
Không, tôi không phải, tôi là một singleton cho Ủy quyền. – zapico