今天我在 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(如普通浏览器),但它对我不起作用。