У меня есть проект MonoTouch, использующий некоторый код, которым я делюсь с приложением Windows Phone 7.Этот общий код создает прокси WCF для доменной службы RIA (с использованием конечной точки / Soap), созданный с помощью SLSvcUtil.exe.Вот как выглядит код:
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://someurl/someservice.svc");
var client = new MyDomainServiceSoapClient(binding, address);
client.CookieContainer = _cookieContainer; // <-- EXCEPTION here
Этот фрагмент кода работает в WP7, но не работает в MonoTouch, и я не могу найти почему.Исключение, которое я получаю в MonoTouch:
System.InvalidOperationException: Unable to set the CookieContainer.
Please make sure the binding contains an HttpCookieContainerBindingElement.
at MyDomainServiceSoapClient.set_CookieContainer
Я пробовал следующие опции перед установкой CookieContainer, но все еще та же ошибка:
binding.EnableHttpCookieContainer = true;
binding.AllowCookies = true;
binding.CreateBindingElements()
.Add(new HttpCookieContainerBindingElement()); // ??
Обновление: Я также пробовал строитьCustomBinding вручную и добавление HttpCookieContainerBindingElement, но это также не сработает.
Есть идеи?Сайт MonoTouch сообщает мне, что реализация WCF является «экспериментальной», так что, может быть, это ограничение в текущей версии MonoTouch?