2011-07-27 6 views
3

J'ai un simple service web que j'ai écrit en utilisant Webmatrix qui retourne des données dans json. J'ai aimé consommer ce service en utilisant ASP.NET MVC 3. Je sais comment le faire avec WCF mais nous n'allons pas utiliser WCF sur ce projet. Y a-t-il quelque chose qui s'apparente à la méthode getJson() de jquery dans ASP.NET MVC où je viens de passer l'URL reposante et elle renvoie les données et je la gère dans un rappel? Merci pour toute aide :-)Comment puis-je consommer un service de repos non-wcf dans asp.net mvc 3?

Voici mon service:

URL:

/services/GetAllItemsService 

code:

@{ 
    var items = ItemsService.GetAllItems(); 

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

Répondre

4

Vous pouvez utiliser un WebClient pour récupérer les données JSON d'une télécommande Ressource. Par exemple:

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); 
} 

Ou si vous vouliez écrire le JSON directement à la sortie:

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

Ceci est parfait! Merci beaucoup!! – cpeele00

+0

Bonjour, comment poster plusieurs objets via webclient – Gaurav123

0
  • Utilisez une lib comme RestSharp, Hammock , ...
  • Récupérer les données avec WebClient et utiliser un désérialiseur JSON tel que JavaScriptSerializer ou Json.NET
+0

Merci pour les liens de ressource :-) – cpeele00

Questions connexes