1

今日、WP7.5/7.8 で非常に奇妙な動作を発見しました

認証を実装しています。投稿リクエストを行う必要があります。その後、結果ページにリダイレクトされます。

WP8 では、リダイレクト後に結果ページを取得しています。WP7.5/7.8 では、リダイレクト結果 (StatusCode - 302) が表示されます。

public void MakeRequest() {
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Consts.Url);
    request.AllowAutoRedirect = true;
    request.Method = "POST";

    request.Headers[HttpRequestHeader.Cookie] = cookie;
    request.BeginGetResponse(new AsyncCallback(ProcessRequest), request);
}

プロセス応答

private void ProcessRequest(IAsyncResult callbackResult) {
     HttpWebRequest myRequest = (HttpWebRequest)callbackResult.AsyncState;
     using (HttpWebResponse myResponse = (HttpWebResponse)myRequest.EndGetResponse(callbackResult)) {

         if (myResponse.StatusCode != HttpStatusCode.OK) {
             RaiseConnectionError(string.Format("Response from server {0}\n{1}", myResponse.StatusCode, myResponse.StatusDescription));
             return;
            }
      }
 }

私が気づいたこの状況は、現在のプロジェクトに裏打ちされています。ASP.NET MVC を使用してバッキングで同じ状況を作成したとき、

[HttpPost]
public ActionResult Redirect() {
   return RedirectToAction("Index");
}

// index returns simple view

WP7.5 と 8 の両方で機能しました。奇妙なことに、バックエンドは iOS と Android で正常に動作します。カスタム UserAgent (通常のブラウザーのような) を使用することをお勧めする同様の質問を見ましたが、私にはうまくいきませんでした。

4

0 に答える 0