Cookies 无法从Windows Phone 7上的HttpWebResponse获取Cookie

Cookies 无法从Windows Phone 7上的HttpWebResponse获取Cookie,cookies,asynchronous,windows-phone,httpwebresponse,Cookies,Asynchronous,Windows Phone,Httpwebresponse,我完全不明白这里的问题是什么。我对CookieContainer的理解肯定是完全错误的。我正在尝试登录到我的计算机上托管的网站。我已经设置了fiddler作为代理,所以我能够读取流量 每次我尝试在windows phone上查看cookie时,cookie容器总是空的。我尝试了很多不同的方法来填满那个容器,但都失败了。这是我最后一次尝试: CookieContainer cc = new CookieContainer(); HttpWebRequest requ

我完全不明白这里的问题是什么。我对CookieContainer的理解肯定是完全错误的。我正在尝试登录到我的计算机上托管的网站。我已经设置了fiddler作为代理,所以我能够读取流量

每次我尝试在windows phone上查看cookie时,cookie容器总是空的。我尝试了很多不同的方法来填满那个容器,但都失败了。这是我最后一次尝试:

        CookieContainer cc = new CookieContainer();
        HttpWebRequest request = WebRequest.CreateHttp("http://localhost:8888/account/logon");
        request.ContentType = "application/x-www-form-urlencoded";
        request.Method = "POST";
        request.CookieContainer = cc;
        request.BeginGetRequestStream(streamResult =>
        {
            HttpWebRequest xR = streamResult.AsyncState as HttpWebRequest;
            Stream stream = xR.EndGetRequestStream(streamResult);
            StreamWriter sw = new StreamWriter(stream);
            sw.Write("username=user1&password=1111");
            sw.Close();

            xR.BeginGetResponse(responseResult =>
            {
                HttpWebRequest yR = responseResult.AsyncState as HttpWebRequest;
                HttpWebResponse response = yR.EndGetResponse(responseResult) as HttpWebResponse;
                response.Close();

                Dispatcher.BeginInvoke(() => MessageBox.Show("cc count: " + cc.Count.ToString() + "\nresponse count: " + response.Cookies.Count));
            }, xR);

        }, request);
但是,如果我在控制台应用程序中使用完全相同的代码,那么容器“cc”就有cookies

        CookieContainer cc = new CookieContainer();
        HttpWebRequest request = WebRequest.CreateHttp("http://localhost:8888/account/logon");
        request.ContentType = "application/x-www-form-urlencoded";
        request.Method = "POST";
        request.CookieContainer = cc;
        request.BeginGetRequestStream(streamResul =>
        {
            HttpWebRequest xR = streamResul.AsyncState as HttpWebRequest;
            Stream stream = xR.EndGetRequestStream(streamResul);
            StreamWriter sw = new StreamWriter(stream);
            sw.Write("username=user1&password=1111");
            sw.Close();

            xR.BeginGetResponse(responseResult =>
            {
                HttpWebRequest yR = responseResult.AsyncState as HttpWebRequest;
                HttpWebResponse response = yR.EndGetResponse(responseResult) as HttpWebResponse;
                response.Close();

                Console.WriteLine("cc count: {0}\nresponse count: {1}", cc.Count.ToString(), response.Cookies.Count);
            }, xR);

        }, request);

        Console.Read();

每次测试时,服务器都会发回我正在查找的两个cookie。但是,无论出于何种原因,windows phone代码都无法获取这些cookie。这和这个问题差不多:但是我不明白解决方案是什么。

哇,我觉得自己像个傻瓜。它一直在工作。。。也许对其他人来说这是显而易见的,但我错过了。问题是,由于返回的cookie是
HttpOnly
,因此cookie容器根本不会公开它们,即使您询问cookie的计数


虽然很奇怪,在控制台版本中,我可以看到有两个,但我想windows phone的System.Net.dll会将
CookieContainer
锁定多一点。

你能告诉我如何从windows phone中的url获取cookie吗??