/ Ako vytvoriť architektúru WCF do architektúry ASP.net MVC (client) pomocou JSON formátu / koncového bodu ako spôsobu komunikácie? - c #, asp.net-mvc, wcf, json, webové služby

Ako vytvoriť architektúru WCF do architektúry ASP.net MVC (client) pomocou JSON formátu / koncového bodu ako spôsobu komunikácie? - c #, asp.net-mvc, wcf, json, webové služby

Nakloním sa smerom k WCF ako môjmu hlavnému zdroju služieb (v budúcnosti budem potrebovať viacero koncových bodov) a tu sú tie veci, ktoré som uviazol na ...

  • WCF CLIENT: Ako môžem urobiť, aby MVC prijímala dáta JSON z služby WCF a analyzovala ich na C # primitívne / komplexné typy?
  • KLIENT k WCF: Ako môžem odoslať JSON formátované dáta z MVC do WCF a nechať ho analyzovať na C # primitívne / komplexné typy?

  • otázka na strane: Ako môžem urobiť WCF používať REST ako jeho protokol a prenášať dáta vo formáte JSON? Používam reštartovací kit REST alebo je postavený na WCF?

V zásade je to moja architektúra:

WCF === (formát: JSON) ===> ASP.net MVC 3 (...a späť)

WCF === (formát: JSON) ===> rôzny klient (...a späť)

kódu vzorky by veľmi pomohlo!

Ďakujeme vopred za pomoc! :)

odpovede:

1 pre odpoveď č. 1

WCF RESTful webové služby budú vaším priateľom. Ak chcete nútiť webovú službu, aby vrátila službu JSON, pozrite sa súvisiacu odpoveď.

Aktualizácia: Ak máte kontrolu nad klientom i službou, možno by ste sa chceli pozrieť do alternatívy WCF Data Services. Menej kódu = väčšia produktivita (v niektorých prípadoch;))


1 pre odpoveď č. 2

Realizačná služba WCF bude fungovať podobne ako M.Babcock povedal, ale môžete jednoducho použiť Ajax, aby zavolal riadiacemu úkonu; zavoláte vášmu správcovi, ktorý zase zavolá vašu službu WCF a vráti JsonResult. Niečo také...

Controller:

public JsonResult GetData()
{
var result = wcf.GetSomeData();
return Json(result);
}

Vyhliadka:

<script type="text/javascript">
$(function() {
$("#mybutton").click(function() {
$.getJSON("/Home/GetData", null, function(data) {
alert(data);
});
});
});
</script>

Tu je a odkaz na lepší výukový program.