小编Jef*_*ies的帖子

在Windows Phone 7(Mango)上的HttpWebRequests之间共享CookieContainer的问题

我有一个生产应用程序通过HttpWebRequest进行两次调用.第一个调用设置会话并接收cookie以维持会话,第二个调用是来自api的数据.回复是httponly.我在两个调用之间使用共享CookieContainer,但第二个调用总是失败.我将问题缩小到第二个请求中没有发送的cookie.我已经使用网络监视器来监视流量,如果我在第二个请求中明确设置了cookie(参见下面的代码),则呼叫成功.有人对这个问题有任何想法吗?我需要弄清楚如何使用共享的CookieContainer.

private string URL_01 = "https:// [...]";
private string URL_02 = "https:// [...]";
private CookieContainer _cookieContainer = new CookieContainer();
private NetworkCredential nc = new NetworkCredential("username", "password");

private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
HttpWebRequest request = HttpWebRequest.CreateHttp(URL_01);
request.CookieContainer = _cookieContainer;
request.Credentials = nc;
request.UseDefaultCredentials = false;
request.BeginGetResponse(new AsyncCallback(HandleResponse), request);
}

public void HandleResponse(IAsyncResult result)
{
HttpWebRequest request = result.AsyncState as HttpWebRequest;

if (request != null)
{
    using (WebResponse response = request.EndGetResponse(result))
    {
         using (StreamReader reader = new StreamReader(response.GetResponseStream()))
         {
             string …
Run Code Online (Sandbox Code Playgroud)

cookiecontainer windows-phone-7 windows-phone-7.1

5
推荐指数
1
解决办法
2700
查看次数