2011-02-23 33 views
6

我有一個MonoTouch iPhone應用程序,通過Azure訪問控制服務聯合登錄。登錄通過嵌入式UIWebView瀏覽器完成。登錄完成後,我想將cookie傳輸到我的應用程序中。我有權訪問如何在MonoTouch中將NSHttpCookie轉換爲System.Net.Cookie?

NSHttpCookieStorage.SharedStorage.Cookies 

集合,所以我可以找到cookie。但爲了調用後端服務,我需要有一個

System.Net.Cookie 

,我可以投入的CookieContainer發送到服務。

我如何在兩者之間進行轉換......這是唯一的方法嗎?

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(); 
相關問題