代码之家  ›  专栏  ›  技术社区  ›  John

如何从控制器调用Web服务?

  •  1
  • John  · 技术社区  · 15 年前

    我有一个asp.net MVC2应用程序,需要从控制器调用web服务。我该怎么做?它是一个返回Json数据的RESTful服务。

    谢谢

    3 回复  |  直到 15 年前
        1
  •  3
  •   Palantir    15 年前

    您可以像在任何ASP.net应用程序中那样调用它,它根本没有连接到MVC。

    或者添加一个引用并使用该引用(最简单的),或者使用手动方法:下面是一个指南,请参见结尾处(特别是图14)了解如何使用这些服务: http://msdn.microsoft.com/en-us/magazine/dd943053.aspx

        2
  •  2
  •   NoelAdy    15 年前

    ActiveResource<Product> arProduct = new ActiveResource<Product>(jsoSerializer,liveHttpProv,"https://company/product/1452");
    
    //Get verb
    Product prod = arProduct.Get();
    

    arProduct.Post(prod);
    

    基本上,代码包装了底层的httppost、put、get函数,并负责将有效负载序列化到对象。这是一个非常有用的组件,我已经用了一遍又一遍。代码可以很容易地从一个控制器调用,它可能值得使用一个IOC容器(我使用的是eUnity块)来安装您的提供者

    希望这有帮助

        3
  •  1
  •   ckramer    15 年前

    我将创建一个简单的类,作为从URL发出web请求的“客户机”,然后以字符串形式返回响应。

    JSON.Net 图书馆。您需要创建一个简单的数据类,该类的结构与您期望返回的JSON数据相同。

    您还可以将两者结合起来,让客户机类直接返回反序列化的对象。