2011-02-23 4 views
6

Azure 액세스 제어 서비스를 통해 페더레이션 된 로그인을하는 MonoTouch iPhone 앱이 있습니다. 로그인은 임베디드 UIWebView 브라우저를 통해 수행됩니다. 로그인이 완료되면 내 앱으로 쿠키를 전송하려고합니다.NSHttpCookie를 MonoTouch의 System.Net.Cookie로 변환하려면 어떻게해야합니까?

NSHttpCookieStorage.SharedStorage.Cookies 

컬렉션에 액세스 할 수 있으므로 쿠키를 찾을 수 있습니다. 하지만 백엔드 서비스를 호출하기 위해, 나는 서비스에 보낼 CookieContainer에 넣을 수

System.Net.Cookie 

이 필요합니다.

두 개를 어떻게 변환합니까? 이것이 유일한 방법입니까?

NSHttpCookie cookie = NSHttpCookieStorage.SharedStorage.Cookies[0]; 
System.Net.Cookie newCookie = new System.Net.Cookie() 
    { 
     Name = cookie.Name, 
     Value = cookie.Value, 
     Version = (int) cookie.Version, 
     Expires = cookie.ExpiresDate, 
     Domain = cookie.Domain, 
     Path = cookie.Path, 
     Port = cookie.PortList[0].ToString(), // is this correct?? 
     Secure = cookie.IsSecure, 
     HttpOnly = cookie.IsHttpOnly 
    }; 

답변

3

예, 그렇게 변환 할 수 있습니다. 아마도 NSHttpCookie에 확장 메소드를 만들어야할까요? 그러면 다음과 같이 부를 수 있습니다 :

var c = cookie.ToCLRCookie(); 
관련 문제