Tôi đang cố gắng thêm phát hiện đặc biệt vào thiết lập dịch vụ khách hàng WCF đơn giản (hiện được triển khai bởi tự lưu trữ trong ứng dụng giao diện điều khiển). Gỡ lỗi bằng cách sử dụng VS2010 trên windows 7, và làm bất cứ điều gì tôi có thể tìm thấy trong hướng dẫn trực tuyến, nhưng vẫn còn - khách hàng khám phá chỉ đơn giản là không tìm thấy gì. Không cần phải nói nếu tôi mở một máy khách đến điểm cuối dịch vụ chính xác, tôi có thể truy cập dịch vụ từ máy khách.WCF Discovery đơn giản là không hoạt động
mã dịch vụ:
using (var selfHost = new ServiceHost(typeof(Renderer)))
{
try
{
selfHost.Open();
...
selfHost.Close();
dịch vụ app.config: Mã khám phá
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<services>
<service name="TestApp.Renderer">
<host>
<baseAddresses>
<add baseAddress="http://localhost:9000" />
</baseAddresses>
</host>
<endpoint address="ws" binding="wsHttpBinding" contract="TestApp.IRenderer"/>
<endpoint kind="udpDiscoveryEndpoint"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceDiscovery/>
<serviceMetadata httpGetEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
khách hàng:
DiscoveryClient discoveryClient = new DiscoveryClient(new UdpDiscoveryEndpoint());
var criteria = new FindCriteria(typeof(IRenderer)) { Duration = TimeSpan.FromSeconds(5) };
var endpoints = discoveryClient.Find(criteria).Endpoints;
Bộ sưu tập 'điểm cuối' luôn đi ra trống rỗng. Tôi đã thử chạy dịch vụ và ứng dụng khách từ trình gỡ rối, từ một dòng lệnh, từ dòng lệnh quản trị - mọi thứ, nhưng không có kết quả (tất cả trên máy cục bộ, tất nhiên, không phải là phần mềm tôi sẽ cần nó chạy toàn bộ subnet của tôi cuối cùng)
Bất kỳ trợ giúp sẽ được đánh giá cao :-)
Tôi cũng đã thử thêm điểm cuối thông báo trong dịch vụDiscovery hành vi - điều đó cũng không giúp được – kbo
có bất kỳ thông tin app.config nào cho khách hàng không? –
cũng có bạn đã thử thêm một phạm vi? –