Vous ne pouvez pas envoyer directement un objet à ce contrôleur à partir d'une application Silverlight. Vous devez envoyer une requête HTTP POST en utilisant un WebClient par exemple et en transmettant les valeurs dans le corps POST. Voici un exemple:
var client = new WebClient();
var values = new NameValueCollection
{
{ "PropName1", "value 1" },
{ "PropName2", "value 2" },
{ "ComplexPropName3.SimpleProp", "value 3" },
// And so on for each value in the DispositivoMovil
};
client.UploadValuesCompleted += (sender, e) =>
{
byte[] result = e.Result;
// TODO: Do something with the response returned from the controller
};
client.UploadValuesAsync(new Uri("http://example.com/home/emptyresult"), values);
Pour des scénarios plus contraignants avancés, vous pouvez jeter un oeil à ce blog post.
Merci pour la réponse, c'était très utile pour moi. En Silverlight, vous devez utiliser la classe. Dictionary parameters = new Dictionnaire (); paramètres.Add ("Serial", dispositivo.Serial); paramètres.Ajouter ("Observaciones", dispositivo.Observaciones); –
Manuel
FYI, la méthode UploadValuesAsync() et l'événement UploadValuesCompleted n'existent pas dans la version d'exécution Silverlight de WebClient. Utilisez plutôt UploadStringAsync() et UploadStringCompleted. –