HttpWebRequest BeginGetResponse Windows Phone 中的参数异常
本文关键字:参数 异常 Phone BeginGetResponse Windows HttpWebRequest | 更新日期: 2023-09-27 17:56:24
我将我的应用程序 POST 请求发送到某个 URL。当我第一次发送它时,没关系,但是当我再次调用方法SendBookingFreeCapacity()
时,然后我得到
ApplicationUnhandledExceptionEventArgs
在函数"private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)"
中的 App.xaml 中。
问题是行:
webRequest.BeginGetResponse(new AsyncCallback(GetBookingFreeCapacitydResponseCallback), webRequest);
这是我的代码:
public static void SendBookingFreeCapacity() {
var url = "https://..../getFreeCapacity";
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.BeginGetRequestStream(
new AsyncCallback(GetBookingFreeCapacityRequestStreamCallback),
webRequest);
}
private static void GetBookingFreeCapacityRequestStreamCallback(
IAsyncResult asynchronousResult)
{
try {
HttpWebRequest webRequest =
(HttpWebRequest)asynchronousResult.AsyncState;
string postData = string.Empty;
System.IO.Stream postStream =
webRequest.EndGetRequestStream(asynchronousResult);
postData = "<?xml version='"1.0'"?>"
+ "<request>"
+ "<login>" + Globals.Login + "</login>"
+ "<password>" + Globals.Password + "</password>"
+ "<hotId>" + htl.hotId + "</hotId>"
+ "<term>"
+ "<from>" + dayParser(Globals.PrijezdDate) + "</from>"
+ "<to>" + dayParser(Globals.OdjezdDate) + "</to>"
+ "</term>"
+ "</request>";
byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(postData);
postStream.Write(byteArray, 0, byteArray.Length);
postStream.Close();
webRequest.BeginGetResponse(
new AsyncCallback(GetBookingFreeCapacitydResponseCallback),
webRequest); //after this I get the exception
}
catch (Exception ex) { }
}
private static void GetBookingFreeCapacitydResponseCallback(
IAsyncResult asynchronousResult)
{
try {
HttpWebRequest webRequest =
(HttpWebRequest)asynchronousResult.AsyncState;
//some code...
}
catch (Exception ex) { }
}
你有一些提示是什么原因造成的吗?问题出在哪里?
某些用户会遇到相同的问题。
如何在 HttpWebResponse 中修复 System.ArgumentException?
在这种情况下,原因仍然未知。
System.ArgumentException: [net_WebHeaderInvalidControlChars] in Windoows Phone
在这种情况下,原因是 HTTP 请求标头中的非 ASCII 字符。
附言您永远不应该在非英语操作系统或 IDE 上进行开发。我 99% 确定你得到了 System.ArgumentException,但是你的"我在我的语言中本地化了这个异常名称"使得谷歌搜索解决方案和寻求帮助变得更加困难。
我创立了这个解决方案...创建新页面...