RESTful服务问题

时间:2012-01-06 07:25:55

标签: c# wcf web-services wcf-rest

我是RESTful和WCF服务的新手,我正在使用JSON消息格式制作RESTful。当我运行此服务时,它没有给出任何响应。

这是我的代码:

[ServiceContract]
public interface IPersonas
{
    [OperationContract]
    [WebInvoke(Method="GET",BodyStyle=WebMessageBodyStyle.Bare,
    ResponseFormat=WebMessageFormat.Json,UriTemplate="getPeople")]
    Persona[] getPeople();
}

[DataContract]
public class Persona
{
    [DataMember(Name="nombre")]
    public string nombre { get; set; }

    [DataMember(Name="apellido")]
    public string apellido { get; set; } 

}

我的实施:

 public Persona[] getPeople()
    {
        List<Persona> list = new List<Persona>()
        {

            new Persona(){nombre="luis",apellido="romeor"},
            new Persona(){nombre="alberto",apellido="calderton"},
            new Persona(){nombre="erick",apellido="romeor"},
            new Persona(){nombre="miguel",apellido="calderon"}

        };

        return list.ToArray();
    }

当我访问Personas.svc / getPeople /时,它没有给出任何响应。有时服务会在服务主机测试中打开。

1 个答案:

答案 0 :(得分:2)

尝试这样做

  [ServiceContract]
  public interface IPersonas
  {
      [OperationContract]
      [WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate="/getPeople")]
      Persona[] getPeople();
  }

还可以使用一些代码来测试URI,有些浏览器会缓存您的请求,这可能就是为什么您不会总是得到响应。