在C#中,你可以使用HttpClient类来实现AJAX异步请求。以下是一个简单的示例:
System.Net.Http NuGet包。如果没有,请在项目中运行以下命令来安装:Install-Package System.Net.Http创建一个C#类,例如AjaxHelper.cs,并在其中添加以下代码:using System;using System.Net.Http;using System.Threading.Tasks;public static class AjaxHelper{ private static readonly HttpClient httpClient = new HttpClient(); public static async Task<string> GetAsync(string requestUri) { HttpResponseMessage response = await httpClient.GetAsync(requestUri); if (response.IsSuccessStatusCode) { return await response.Content.ReadAsStringAsync(); } else { throw new Exception($"Error: {response.StatusCode}"); } } public static async Task<T> GetAsync<T>(string requestUri, Func<string, T> deserializer) { string jsonResponse = await GetAsync(requestUri); return deserializer(jsonResponse); }}这个类提供了两个静态方法:GetAsync用于执行GET请求,GetAsync<T>用于执行GET请求并将响应内容反序列化为指定的类型。
AjaxHelper类来执行异步请求。例如,在一个名为MainClass.cs的类中:using System;using System.Threading.Tasks;class MainClass{ static async Task Main(string[] args) { string requestUri = "https://api.example.com/data"; // 使用GetAsync方法获取JSON字符串 string jsonResponse = await AjaxHelper.GetAsync(requestUri); Console.WriteLine("JSON Response: " + jsonResponse); // 使用GetAsync<T>方法获取指定类型的对象 MyData data = await AjaxHelper.GetAsync<MyData>(requestUri, json => JsonConvert.DeserializeObject<MyData>(json)); Console.WriteLine("Deserialized Data: " + data); }}请注意,你需要将MyData替换为你要反序列化的实际类型,并确保已经安装了Newtonsoft.Json NuGet包来处理JSON序列化和反序列化。如果没有,请运行以下命令来安装:
Install-Package Newtonsoft.Json现在,当你运行MainClass时,它将执行异步GET请求,并在控制台中显示JSON响应和反序列化后的对象。