1.使用 Connected Services:
-
右键单击您的项目,选择 "Add"(添加)-> "Connected Services"(已连接的服务)。
-
在 "Connected Services" 对话框中,选择 "WCF Web Service"。
-
在 "WCF Web Service" 对话框中,输入 xxx.asmx 的 URL 地址(例如:http://A.B.C.com/ABCWebService/product/ProductService.asmx),然后点击“转到”,然后在点击下方服务中的xxxSoap,右边操作框里面会显示所有方法,然后在输入一个命名空间(例如:CBEC.Web.ProductWebService),然后点击 "下一步"(前往)。截图如下:
-
-
Visual Studio 将会获取 xxx.asmx 中的方法列表。选择您想要添加的方法,然后点击 "Finish"(完成)。
-
Visual Studio 将为您生成一个代理类,该代理类包含远程服务器上的方法,您可以像调用本地方法一样使用这些方法。
示例代码:
using System;
using System.Threading.Tasks;
using YourServiceReference; // 请将 YourServiceReference 替换为实际的服务引用名称class Program
{static async Task Main(){// 创建服务引用的客户端var client = new HuiLvServiceSoapClient(HuiLvServiceSoapClient.EndpointConfiguration.HuiLvServiceSoap);// 调用远程服务器的方法var result = await client.YourRemoteMethodAsync(param1, param2);// 处理返回的结果Console.WriteLine(result);}
}
2.使用 HTTP 客户端:
如果 HuiLvService.asmx 提供的是 RESTful 风格的 Web API,您可以使用 HttpClient 类来进行 HTTP 请求。这种方法适用于 Web API 返回的数据是 JSON 或其他常见格式的情况。
示例代码
using System;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;class Program
{static async Task Main(){using var client = new HttpClient();// 设置基础地址client.BaseAddress = new Uri("https://your-remote-server-url/");// 构造请求数据var requestData = new YourRequestData { /*...*/ };// 将请求数据序列化为 JSONvar requestDataJson = JsonSerializer.Serialize(requestData);// 构造 HTTP 请求var content = new StringContent(requestDataJson, System.Text.Encoding.UTF8, "application/json");// 发起 POST 请求var response = await client.PostAsync("HuiLvService.asmx/YourRemoteMethod", content);// 处理响应if (response.IsSuccessStatusCode){var responseContent = await response.Content.ReadAsStringAsync();// 将响应内容反序列化为结果类型var result = JsonSerializer.Deserialize<YourResultType>(responseContent);// 处理返回的结果Console.WriteLine(result);}else{Console.WriteLine("HTTP 请求失败:" + response.StatusCode);}}
}
请注意,以上代码中的 YourServiceReference
、YourRemoteMethodAsync
、YourRequestData
、YourResultType
等都是示例,请根据实际情况替换为您的实际服务引用和方法名称。另外,HTTP 客户端方法适用于 RESTful 风格的 Web API,如果服务提供的是 SOAP Web 服务,请使用 Service References 方法来调用。