2009-12-11 33 views

Trả lời

11

Bạn có thể có nhiều điểm cuối cho cùng một hợp đồng và các địa chỉ khác nhau trong cấu hình clieint của mình, không vấn đề gì.

Chúng cần được phân cách bằng thuộc tính name= duy nhất trên thẻ <endpoint>.

<client> 
    <endpoint name="tcpEndpoint" 
      address="net.tcp://server:8888/SomeService" 
      binding="netTcpBinding" 
      contract="IYourService" /> 
    <endpoint name="httpEndpoint" 
      address="http://server:8777/SomeService" 
      binding="basicHttpBinding" 
      contract="IYourService" /> 
</client> 

Khi bạn tạo proxy client của bạn, bạn cần phải cung cấp tên của các thiết bị đầu cuối mà bạn muốn sử dụng:

YourClient client = new YourClient("netTcpEndpoint"); 

Bạn có thể không còn chỉ cần nhanh chóng khách hàng của bạn và mong đợi nó để tìm ra " "điểm cuối để sử dụng, vì có nhiều (và không có cách nào để xác định một là" mặc định "được sử dụng nếu không có gì được chỉ định, không may).

Khác hơn thế - không có vấn đề gì phát sinh, tôi nghĩ vậy.

+0

ya. sẽ không có ý nghĩa để kết nối với ví dụ: basicHttpbinding + wsHttpBinding + netTcpBinding cùng một lúc. – vidalsasoon

+0

@vidal: không thực sự, không :-) Nhưng bạn ** có thể ** mạnh có một khách hàng đi qua netTcp, và một cá thể khách khác đi qua http - nếu bạn cần (không chắc chắn tại sao điều đó là cần thiết - nhưng bạn ** có thể ** ;-) –

+1

Nếu bạn có một máy khách web java và một máy khách dày .Net cho một ví dụ thực tế đời sống. Ứng dụng khách java sử dụng http và .Net sử dụng net.tcp – softveda

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