19 messaggi dal 29 agosto 2010
Bell'articolo........
Avrei delle domande da fare , spero di non chiedere troppo.
1) Il discorso su "Svc less e routing" vale anche per il framework 3.5 o è solo applicabile
con il framework 4 ?
2 ) Riguardo al discorso sulle chiamate cross domain , volevo capire meglio una cosa :
Supponendo di avere un'applicazione web con un servizio rest è una pagina html che
richiami tale servizio sul dominio http://miosito.com/
Se volessi richiamare il servizio su http://miosito.com/ da http//sitoaziendale.com devo necessariamente usare jsonp ?
Grazie
1) sì, solo netfx4
2) sì, le restrizioni dei browser impediscono chiamate ajax

Ciao

Il mio blog
Homepage
19 messaggi dal 29 agosto 2010
Volevo farti una domanda. Non so se è il topic giusto ma ci provo.
Ho creato un servizio rest ed ho creato le classi per la serializzazione con i vari
attributi [DataContract] e [DataMember] e tutto funziona. In seguito ho aggiunto
un database e un file edmx per generare le Entities dal database. In seguito ho creato un ulteriore servizio rest che opera sul database tramite Linq to Entities. Il problema è che i metodi del servizio ( definiti in modo tale che restituiscano la risposta in formato json ) non serializzano le classi Entity generate dall' edm. E' un limite del WCF oppure occorre apportare specifiche modifiche al fine di serializzare le suddette classi ?
19 messaggi dal 29 agosto 2010
SI esatto . mi da errore

metodo con errore :
[OperationContract]
[WebGet(UriTemplate = "places/id={id}" , ResponseFormat =WebMessageFormat.Json)]
List<place>  GetPlacesById(string id);


----- L'implementazione del metodo --------------
public List<place>  GetPlacesById(string id)
{
    int convertedId = Convert.ToInt32(id);
    using (placesEntities ctx = new placesEntities())
    {
       var rtnPlaces = ctx.places.Where(p => p.id >= convertedId);
       return rtnPlaces.ToList<place>();
    }
}

------- place e l'entity di una tabella place su tadabase ovviamene ----------

===========================================================
===========================================================
Ho provato poi a seriliazzare con JavaScriptSerializer
modificando il tipo in outupt del metodo a Stream è tutto funziona , ma vorrei
comunque sapere se è possibile utilzzare il primo approccio

Ecco il metdo con Stream e JavaScriptSerializer
[OperationContract]
[WebGet(UriTemplate = "places/id={id}")]
Stream GetPlacesById(string id);

--- implementazione del motodo ---
public Stream GetPlaceById(string id)
{
   int convertedId = Convert.ToInt32(id);
   using (placesEntities ctx = new placesEntities())
   {
     var rtnPlaces = ctx.places.Where(p => p.id >= convertedId);
     JavaScriptSerializer ser = new JavaScriptSerializer();
     string rtnString = ser.Serialize(rtnPlaces); 
                   WebOperationContext.Current.OutgoingResponse.ContentType = "application/json";

var result=newMemoryStream(ASCIIEncoding.UTF8.GetBytes(rtnString));
     return result;

     }
}

QUesto metodo funziona perfetamene ma come ti ho già detto vorrei sapere
se è posibile arrivare alla stessa soluzione con il primo approccio e quale dei due metodi è più performante.

Ti ringrazio per il tuo interessamente !!!
Modificato da frank2tek il 28 marzo 2011 23.54 -
Modificato da frank2tek il 29 marzo 2011 00.00 -
Domanda sciocca che fa capire tutto: quale errore?

Ciao

Il mio blog
Homepage
19 messaggi dal 29 agosto 2010
Con Fiddler ottengo : errore http il 504 con il messaggio :
"ReadResponse() failed: The server did not return a response for this request. "
In pratica sembra che il metodo del servizio riceva la richiesta http correttamente , la elabora senza dare errori , ma non restituisce niente.
Credo che il codice sintatticamente sia corretto ma non serializzando , l'output del metodo rimane vuoto.........
Per questo che non riesco a risolvere il problema. Il framework.net non da uno specifico errore...
Vedi io arrivo dal mondo java. Quando crei un edm da un database automaticamente puoi usare le classi come e dove vuoi.
EDM in .net mi sembra un po' troppo confusionario. Oltretutto l'edm aggiunge un sacco di codice per mappare le classi.
Comunque , visto che sono costretto a usare il .net ed impararlo in fretta per un lavoro che sto facendo chiedo aiuto da tutte le parti.
Grazie ancora e scusa se mi son dilungato un po'..
Modificato da frank2tek il 02 aprile 2011 11.20 -
Modificato da frank2tek il 02 aprile 2011 11.23 -
Modificato da frank2tek il 02 aprile 2011 11.26 -
Modificato da frank2tek il 02 aprile 2011 11.29 -

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.