我的公司服务器IIS 7.5上有一个安静的服务。网址为http://11.52.36.251/MessagingServices/IData.svc
。我使用Restsharp / Restclient从客户端测试它。
当我将网址放入浏览器并按“ENTER”时,生成了wsdl链接。
但我听说宁静的服务没有wsdl,但为什么我看到它?
我检查了服务中的代码,有
public interface IData
{
[OperationContract]
[WebGet(BodyStyle=WebMessageBodyStyle.Bare,
ResponseFormat=WebMessageFormat.Json,
UriTemplate="/api")]
void GetApi();
[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.Bare,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "/GetIData?iId={iId}&facilityId={internalId}")]
IDTO GetIData(string iId, string internalId);
}
这是假的宁静服务还是其他原因?
答案 0 :(得分:1)
一个宁静的服务应该能够通过其API或简单易读的HTML文档严格记录自己。但是,默认情况下,在WCF中开发的任何服务都将具有WSDL,因为服务具有WSDL并不意味着它不是RESTful。如果它确实是RESTful,那么服务开发人员应该禁用mex端点以防止其WSDL被发布,从而确保客户端以预期的方式使用该服务。