public static async Task<string> POST(string url, string postfields)
{
WebRequest request = WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = 5000;
byte[] parameters = System.Text.Encoding.UTF8.GetBytes(postfields);
string res = null;
request.ContentLength = parameters.Length;
using(Stream stream = request.GetRequestStream())
{
stream.Write(parameters, 0, parameters.Length);
}
using (WebResponse response = await request.GetResponseAsync())
{
using (Stream stream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(stream))
{
res = reader.ReadToEnd();
}
}
}
return res;
}
Программа намертво зависает при выполнении WebResponse response = await request.GetResponseAsync()
Менять таймауты или убирать "using" и выполнять request.Abort() response.Close() не помогает
UPD1: Только что попробовал код в dotnetfiddle.net - всё работает. Но я использую .NET 4.8, а там 4.7.2 - может ли быть это багом?