我希望异步 HTTP 回调能够在 C# 中使用 MSXML2 API 工作。我通过 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# 中完成此操作。
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
代替。其工作原理基本相同。