svc文件和restful web服务

时间:2013-06-05 18:56:29

标签: c# wcf rest wsdl

我的公司服务器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);
}

这是假的宁静服务还是其他原因?

1 个答案:

答案 0 :(得分:1)

一个宁静的服务应该能够通过其API或简单易读的HTML文档严格记录自己。但是,默认情况下,在WCF中开发的任何服务都将具有WSDL,因为服务具有WSDL并不意味着它不是RESTful。如果它确实是RESTful,那么服务开发人员应该禁用mex端点以防止其WSDL被发布,从而确保客户端以预期的方式使用该服务。