Domanda

Ho un progetto MonoTouch usando un codice che condivido con un'app Windows Phone 7. Questo codice condiviso crea un proxy WCF per un servizio di dominio RIA (utilizzando l'endpoint /sapone), generato utilizzando slsvcutil.exe. Ecco come appare il codice:

BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://someurl/someservice.svc");

var client = new MyDomainServiceSoapClient(binding, address);
client.CookieContainer = _cookieContainer; // <-- EXCEPTION here

Questo pezzo di codice funziona in WP7, ma fallisce in Monotouch e non riesco a trovare il perché. L'eccezione che ricevo in monotouch è:

System.InvalidOperationException: Unable to set the CookieContainer.
Please make sure the binding contains an HttpCookieContainerBindingElement.
    at MyDomainServiceSoapClient.set_CookieContainer

Ho provato le seguenti opzioni prima di impostare CookieContainer, ma comunque lo stesso errore:

binding.EnableHttpCookieContainer = true;
binding.AllowCookies = true;
binding.CreateBindingElements()
    .Add(new HttpCookieContainerBindingElement()); // ??

AGGIORNAMENTO: Ho anche provato a costruire una caduta personalizzata a mano e aggiungendo un HTTPCookEIcontainerBindingelement, ma anche questo non funzionerà.

Qualche idea? Il sito Monotouch mi dice che l'implementazione del WCF è "sperimentale", quindi forse questa è una limitazione nell'attuale versione di MonoTouch?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top