의 각 쿠키의 좋은 점 모바일 플랫폼은 앱 전체에서 공유 쿠키 컨테이너입니다. WebView는 쿠키의 플랫폼을 보유하지 않으므로 HTTP 호출 및 다른 WebView도 모두 동일한 공유 쿠키 컨테이너에 액세스 할 수 있습니다.
그러나 일부 플랫폼에서 탈퇴하는 것은 까다로울 수 있으므로 반성이 필요합니다. SSO 솔루션이 먼저 웹 페이지에 로그인해야만 로그인하면 어쨌든 모두 동일한 쿠키를 공유하므로이 작업을 수행 할 필요가 없습니다.
안드로이드
안드로이드는 HTTP 및 웹보기의 2 개 별도의 쿠키 컨테이너를 가지고있다. 그것 이상한 하나. 따라서 당신은 당신이
HttpClient client = new HttpClient(new HttpClientHandler() { CookieContainer = cookieContainer });
웹보기가 다른 하나를 사용 할 HTTP 요청으로
using System.Net.Http;
private static CookieContainer _cookieContainer = new System.Net.CookieContainer();
private static Android.Webkit.CookieManager _cookieManager = Android.Webkit.CookieManager.Instance;
이 있고 얻을 각각의 용기에 쿠키를 설정할 수 있습니다.
아이폰 OS
이 하나가 쉽다는, 그들은 모두
NSHttpCookieStorage.SharedStorage.Cookies
에서 WinRT
using Windows.Web.Http; //NOT: Microsoft.Net.Http
var filter = new HttpBaseProtocolFilter();
HttpClient client = new HttpClient(filter);
// Use this, while it comes from an instance, its shared across everything.
filter.CookieManager
감사 저장됩니다. 이 프로젝트는 2 세 이상이며 Xamarin 1.4를 대상으로하며 Windows 플랫폼을 포함하지 않습니다. Windows 8.1 및 Xamarin 2.0에서 작동하는 솔루션을 알고 있습니까? – Simon
우리는 Xamarin.Forms 2.1.0.6529를 사용하며 매력 (ios 및 android)처럼 작동합니다. 프로젝트에 필요한 부분을 복사했습니다. github-link는이 문제를 해결하는 방법을 보여줍니다. Windows의 경우 WinPhone 코드를보고 채택해야합니다. – Joehl