Ciao a tutti. Sto avendo uno strano problema utilizzando un portale con MVC 4 e Web API.

Quando cerco di recuperare delle info con il metodo Get(), a livello di codice C# non ho problemi (trovo tutti gli elementi, nel mio caso sono 9):
public class ApiComponenteController : ApiController {

        private readonly IComponentRepository _repository;

        public ApiComponenteController(IComponentRepository repo) {
            this._repository = repo;
        }


        // GET api/apicomponente
        public IEnumerable<Componente> Get() {
            var components = _repository.GetAll();
            return components;
        }


ma provando a richiamare il servizio dal browser con /api/apicomponente mi vengono restituiti sempre 9 elementi, ma solo il primo ha tutti i campi che mi servono, gli altri 8 invece hanno solo un identificativo "$ref" con un valore numerico che non so nemmeno da dove lo prenda. Che cosa sbaglio?
Ho trovato la soluzione al problema. Siccome _repository.GetAll() mi restituisce si la lista di oggetti "Componente", ma anche i riferimenti alle altre entità correlate.
Per evitare che questo vada a "disturbare" il recupero dei dati json in JavaScript, è necessario inserire l'attributo [JsonIgnore] ad ogni collection collegata alla classe che si sta utilizzando (nel mio caso "Componente").

Qui comunque c'è il mio esempio:

http://forums.asp.net/p/1872254/5262119.aspx/1?Re+Incorrect+JSON+output+data

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.