WCF端点未返回WSDL

时间:2017-06-16 09:38:00

标签: wcf wsdl

我在地址上公开了WCF服务:

http://localhost/service/

如果我尝试从该地址获取WSDL,它可以正常工作。

我还在服务中添加了端点 - 这就是问题所在。我无法从该端点获取WSDL。 我在浏览器中试过这个:

http://localhost/service/en1

但它没有返回任何东西。

我不明白出了什么问题?

我的服务很简单,一切都是用代码编写的:

ServiceHost host = new ServiceHost(typeof(CalculatorService), new Uri[] { new Uri("http://localhost/service/") });

  ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
  smb.HttpGetEnabled = true;
  host.Description.Behaviors.Add(smb);

  host.AddServiceEndpoint(typeof(ICalculator), new BasicHttpBinding(), "en1");

  host.Open();

1 个答案:

答案 0 :(得分:2)

您还需要设置行为的HttpGetUrl属性,如下所示:

smb.HttpGetUrl = new Uri(EndpointAddress); 

HttpGetUrl用于设置元数据发布的位置,通常是每个服务一个。