Tôi có một ứng dụng sử dụng lại cùng một kênh WCF nhiều lần. Tôi giữ một tham chiếu tĩnh thông qua một đối tượng nhà máy. Tôi tự hỏi nếu điều này là tốt pratice hoặc rằng tôi nên mở x kênh và vòng robin tất cả các cuộc gọi dịch vụ trên các kênh này thay vì sử dụng các kênh đơn?Hiệu suất kênh WCF đơn so với nhiều kênh
Các cuộc gọi dịch vụ này có được xếp hàng đợi không nếu chỉ sử dụng 1 kênh hoặc thực hiện tương tự khi tôi sử dụng kênh x?
Vì vậy, giữ trên ICommunicationObject trả về bởi _channelFactory.CreateChannel() không phải là một ý tưởng tốt? Tôi bây giờ giữ 1 kênh mở cho tất cả các yêu cầu, tôi không làm một _channelFactory.CreateChannel() cho mỗi cuộc gọi, tôi sử dụng lại một kênh được tạo ra lần đầu tiên. –
@Bjorn Bailleul, không phải là một ý tưởng tốt cả. Các thể hiện được trả về bởi '_channelFactory.CreateChannel()' nên sống càng ngắn càng tốt và không bao giờ được tái sử dụng. Như tôi đã nói, cuộc gọi 'CreateChannel' không đắt tiền. Nó rất nhanh. Bạn có thể gọi nó cho mỗi yêu cầu. Điều gì là tốn kém là việc tạo ra các nhà máy sản xuất kênh. Đây là những gì bạn có thể cache. –
@Darin - Bạn có tham chiếu hoặc liên kết cho "sử dụng kênh khác cho mỗi cuộc gọi" hay không. Blog này là một trong những bài viết được tham chiếu nhiều nhất về các nhà máy kênh và thực tiễn tốt nhất đầu tiên của nó là "Sử dụng lại cùng một proxy": http://blogs.msdn.com/b/wenlong/archive/2007/10/27/performance -improvement-of-wcf-client-proxy-creation-and-best-practices.aspx – ErnieL