【问题标题】:How do I consume a non-wcf rest service in asp.net mvc 3?如何在 asp.net mvc 3 中使用非 wcf 休息服务?
【发布时间】:2011-10-14 07:59:16
【问题描述】:

我有一个使用 Webmatrix 编写的简单 Web 服务,它以 json 格式返回数据。我喜欢使用 ASP.NET MVC 3 使用该服务。我知道如何使用 WCF 执行此操作,但我们不会在此项目中使用 WCF。是否有类似于 ASP.NET MVC 中 jquery 的 getJson() 方法的东西,我只是传入 restful url,它返回数据并在回调中处理它?感谢您的帮助:-)

这是我的服务:

网址:

 /services/GetAllItemsService

代码:

@{
    var items = ItemsService.GetAllItems();

    Json.Write(items, Response.Output);
 }

【问题讨论】:

    标签: asp.net asp.net-mvc web-services asp.net-mvc-3


    【解决方案1】:
    • 使用一些库,例如 RestSharpHammock、...
    • 使用 WebClient 检索数据并使用 JSON 反序列化器,例如 JavaScriptSerializerJson.NET

    【讨论】:

    • 感谢资源链接 :-)
    【解决方案2】:

    看看 RESTSharp:http://restsharp.org/

    【讨论】:

      【解决方案3】:

      您可以使用WebClient 从远程资源获取 JSON 数据。例如:

      using (var client = new WebClient())
      {
          string json = client.DownloadString("http://example.com/services/GetAllItemsService");
      
          // TODO: do something with this JSON data, like for example deserialize into a model
          var serializer = new JavaScriptSerializer();
          var model = serializer.Deserialize<SomeModel>(json);
      }
      

      或者,如果您想将 JSON 直接写入输出:

      using (var client = new WebClient())
      {
          string json = client.DownloadString("http://example.com/services/GetAllItemsService");
          Response.Output.Write(json);
      }
      

      【讨论】:

      • 这太完美了!非常感谢!!
      • 你好,如何通过webclient发布多个对象
      猜你喜欢
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多