Về cơ bản, trong dịch vụ của bạn, bạn sẽ có thể xác định bất kỳ số điểm cuối dịch vụ nào trên bất kỳ số lượng cổng nào.
Có hai cách để làm điều này:
- xác định một địa chỉ cơ sở và một địa chỉ tương đối trong thiết bị đầu cuối dịch vụ của bạn
- xác định đầy đủ địa chỉ trong mỗi endpoint
Nếu bạn làm tùy chọn # 1, bạn sẽ có một cái gì đó như thế này:
<service name="YourService">
<host>
<baseAddresses>
<add baseAddress="net.tcp://YourServer:5151/Services" />
</baseAddresses>
</host>
<endpoint name="endpoint1"
address="Service1"
binding="netTcpBinding"
contract="IYourService" />
<endpoint name="endpoint2"
address="Service2"
binding="netTcpBinding"
contract="IYourService" />
</service>
Vì vậy, trong trường hợp này, bạn có hai điểm cuối dịch vụ cho các hợp đồng tương tự, và họ sẽ được lắng nghe trên URL
net.tcp://YourServer:5151/Services/Service1
và
net.tcp://YourServer:5151/Services/Service2
Bạn có thể có các điểm cuối dịch vụ mulitple, nhưng chỉ một địa chỉ cơ sở.
Các tùy chọn khác là để không xác định địa chỉ cơ sở và chỉ định địa chỉ dịch vụ đầy đủ của bạn trong các thiết bị đầu cuối trực tiếp:
<service name="YourService">
<endpoint name="endpoint1"
address="net.tcp://YourServer:5151/Services/Service1"
binding="netTcpBinding"
contract="IYourService" />
<endpoint name="endpoint2"
address="net.tcp://YourServer:6868/Services/Service2"
binding="netTcpBinding"
contract="IYourService" />
</service>
Trong trường hợp này, vì bạn đang xác định toàn bộ địa chỉ trong thiết bị đầu cuối, bạn có thể chọn hai cổng TCP khác nhau, một cổng cho mỗi điểm cuối. Điều này sẽ làm việc với không có vấn đề gì cả. Bạn có hai điểm cuối riêng biệt trên hai cổng riêng biệt, cả nghe và được phục vụ bởi cùng một lớp dịch vụ trong nền.
Marc
Nguồn
2009-09-13 06:52:57
Tôi đã đọc một nơi nào đó mà các ký tự cơ sở được bỏ qua trong một trường hợp iis. – Konstantin
Tôi sẽ đồng ý với nhận xét của bạn và cung cấp liên kết có nội dung như vậy. Khi nói đến IIS, cơ bản các địa chỉ cơ bản bị bỏ qua, nhưng ví dụ trên vẫn giữ vì các địa chỉ điểm cuối được cung cấp. Chúng được sử dụng ngầm với thông tin liên kết site trong IIS. http://msdn.microsoft.com/en-us/magazine/cc163412.aspx – dyslexicanaboko