Асинхронный MSXML2 XMLHTTP Запрос в коде позади
Я хочу, чтобы асинхронный обратный вызов HTTP работал в C# с API MSXML2. Я называю это через winform.
x = new MSXML2.XMLHTTPClass();
x.open("POST", "http://localhost/MyHandler.ashx", true, null, null);
x.send("<test/>");
x.onreadystatechange = ???? //// What to specify here in C#?
var response = x.responseText; //// Works great synchronous!
Я пробовал Action(), анонимные делегаты, анонимные типы, но ничего не работает! К сожалению, в Интернете это решение, управляемое модулем VB.NET, существует, но я не уверен, как это можно сделать в C#.
Любая помощь будет принята с благодарностью!
2 ответа
Решение
try {
System.Net.HttpWebRequest oHTTPRequest = System.Net.HttpWebRequest.Create("URL of Request") as System.Net.HttpWebRequest;
System.Net.HttpWebResponse oHTTPResponse = oHTTPRequest.GetResponse as System.Net.HttpWebResponse;
System.IO.StreamReader sr = new System.IO.StreamReader(oHTTPResponse.GetResponseStream);
string respString = System.Web.HttpUtility.HtmlDecode(sr.ReadToEnd());
}
catch (Exception oEX)
{
//Log an Error
}
}
В WinForms
приложение использует WebRequest
вместо. Это в основном работает так же.