J'ai été capable de retourner un HashTable à partir d'un service Web que j'ai configuré pour un .Net 2.0, mais le service ne parvient pas à rétablir un DataTable dans JSON. Je continue d'obtenir l'erreur suivante: "Une référence circulaire a été détectée lors de la sérialisation d'un objet". Des conseils?Comment renvoyer un DataTable à partir du service Web .Net?
[WebMethod(EnableSession = true) ]
public DataTable getSavedAddresses()
{
DataTable dt = new DataTable();
if (Session["ClientID"] != null)
{
int clientId = Convert.ToInt32(Session["ClientID"]);
dt = Address.GetClientShippingAddresses(clientId);
}
return dt;
}
Intéressant. Oui, je l'ai lu, mais je ne pouvais pas le comprendre. – GreenEggs
Je pense que je vais essayer d'utiliser XML à la place. – GreenEggs
Je pense que cette réponse suggère qu'un sérialiseur personnalisé est nécessaire. C'est ce que fait Rick Strahl dans l'article du blog, d'abord avec JSON.NET, puis avec la bibliothèque JavaScriptSerializer intégrée. – Spivonious