C# Windows Phone 8.1 CookieContainer和XMLConnect cookie问题

C# Windows Phone 8.1 CookieContainer和XMLConnect cookie问题,c#,magento,cookies,windows-phone-8.1,winrt-xaml,C#,Magento,Cookies,Windows Phone 8.1,Winrt Xaml,我正在开发一个Windows Phone 8.1购物应用程序,它与Magento XMLConnect API进行通信。我的问题是服务器发送的cookie存储在我的CookieContainer中,但是当我向服务器发送请求时,cookie不会被发送。如果我通过显式设置域和键值对手动将cookie重新添加到CookieContainer中,cookie将被发送,并且一切正常。这个解决方案可以手动添加app init所需的appcode cookie和屏幕大小cookie,但是我当然不能用前端coo

我正在开发一个Windows Phone 8.1购物应用程序,它与Magento XMLConnect API进行通信。我的问题是服务器发送的cookie存储在我的CookieContainer中,但是当我向服务器发送请求时,cookie不会被发送。如果我通过显式设置域和键值对手动将cookie重新添加到CookieContainer中,cookie将被发送,并且一切正常。这个解决方案可以手动添加app init所需的appcode cookie和屏幕大小cookie,但是我当然不能用前端cookie(它标识用户),因为这不是常量。因此,结果是我的请求中始终缺少前端cookie,因此服务器无法识别用户,即用户未登录。 有什么解决办法吗?这是CookieContainer在使用XMLConnect时的已知行为吗

 public static CookieContainer cookies = new CookieContainer();
    public static HttpClientHandler handler = new HttpClientHandler();
    private static System.Net.Http.HttpClient client;

 public static async Task<string> httpGET(string url)
    {

        string resp = "";
        byte[] response = new byte[] { };

        if (cookies.Count == 0)
        {
            cookies.Add(new Uri(url...), new Cookie("app_code", "defand1"));
            cookies.Add(new Uri(url...), new Cookie("screen_size", "2560x2560"));    
        }
        try
        {
            response = await client.GetByteArrayAsync(url);
            resp = Encoding.UTF8.GetString(response, 0, response.Length);
            string httpResponse = resp;
        }
        catch (Exception)
        {
            throw;
        }
        return resp;
    }

     public static async Task<string> httpPOST(string url)
    {
        System.Net.Http.HttpResponseMessage repi = client.GetAsync(baseURL).Result;
        string resp = "";

        System.Net.Http.HttpResponseMessage response = new System.Net.Http.HttpResponseMessage();
        response.EnsureSuccessStatusCode();
        Task<string> getStringAsync = response.Content.ReadAsStringAsync();
        resp = await getStringAsync;
        return resp;
    }
公共静态CookieContainer cookies=新CookieContainer();
公共静态HttpClientHandler处理程序=新的HttpClientHandler();
私有静态System.Net.Http.HttpClient客户端;
公共静态异步任务httpGET(字符串url)
{
字符串resp=“”;
字节[]响应=新字节[]{};
如果(cookies.Count==0)
{
添加(新的Uri(url…),新的Cookie(“应用程序代码”,“defand1”);
添加(新Uri(url…),新Cookie(“屏幕大小”,“2560x2560”);
}
尝试
{
response=wait client.GetByteArrayAsync(url);
resp=Encoding.UTF8.GetString(response,0,response.Length);
字符串httpResponse=resp;
}
捕获(例外)
{
投掷;
}
返回响应;
}
公共静态异步任务httpPOST(字符串url)
{
System.Net.Http.HttpResponseMessage repi=client.GetAsync(baseURL).Result;
字符串resp=“”;
System.Net.Http.HttpResponseMessage response=new System.Net.Http.HttpResponseMessage();
response.EnsureSuccessStatusCode();
Task getStringAsync=response.Content.ReadAsStringAsync();
resp=等待getStringAsync;
返回响应;
}

向我们展示您的代码!我们如何在看不到您正在做什么的情况下提供帮助。您应该编辑您的问题并添加代码。您在什么时候将cookie容器传递给您的HttpClient?向我们展示您的代码!我们如何在看不到您正在做什么的情况下提供帮助。您应该编辑您的问题并添加代码。您在什么时候将cookie容器传递给您的HttpClient?