Recentemente mi sono imbattuto nella stessa scelta: sto scrivendo una ricca applicazione web con MVC3 per il lato server e avevo bisogno di ospitare dei servizi restful per quelle pagine da colpire.
Ho finito con l'utilizzo di MVC3 e finora ha funzionato molto bene. Con WCF ci si sente come se ci fosse un gran numero di regole e configurazioni da fare solo per iniziare, e molto poco beneficio se non si intende mai esporre i servizi in un modo diverso da REST.
Tutto ciò che serve è un controller che restituisce un JsonResult. Anche la sintassi è molto accurata. Il metodo Json
prende qualsiasi oggetto vecchio piano e lo serializza su json, il che rende davvero facile usare Linq per proiettare i dati su tipi anonimi che forniscono un'indicazione molto chiara di ciò che si sta restituendo:
return Json(new
{ tasks = _TaskList.Where(t => t.Active)
.Select(new {name = t.Name, status = t.Status, owner_id = t.Owner.Id})
});
Ora, hai anche detto di non avere nessun modello. Ma il tuo controller deve eseguire una sorta di logica aziendale, corretta? Vuoi che il tuo controller sia ancora relativamente sottile, dovrebbe essere in delating del lavoro vero per il "modello", se questa è un'altra classe, una libreria un altro servizio, qualsiasi cosa.