一、Web Services 简介
Web Services 是一种跨平台、跨语言的远程通信机制,它允许通过标准的协议(如 HTTP)交换 XML 格式的数据,常用标准包括 SOAP(Simple Object Access Protocol)和 WSDL(Web Services Description Language)。
Web Services 多用于系统集成、B2B 通信、金融接口等领域。
二、常见类型
类型 | 描述 |
---|---|
SOAP Web Service | 基于 XML、严格遵循标准,支持 WSDL |
RESTful API | 基于 HTTP、轻量、常用于现代 Web |
三、开发环境准备(基于 .NET Framework)
3.1 安装 Visual Studio(推荐)
- 下载地址:https://visualstudio.microsoft.com/
- 安装时勾选:
- “ASP.NET 和 Web 开发”
- “.NET 桌面开发”
- 支持 Web Service 模板与调试
四、创建 Web Service 项目(ASMX)
4.1 创建步骤
- 打开 Visual Studio → 新建项目
- 选择 “ASP.NET Web 应用程序(.NET Framework)”
- 模板中选择“空”,勾选“Web Forms” → 创建
- 右键项目 → 添加 → 新建项 → Web 服务(ASMX)
五、编写 Web Service 示例
5.1 文件结构
创建 MyService.asmx
和 MyService.asmx.cs
5.2 示例代码
// MyService.asmx.cs
[WebService(Namespace = "http://example.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class MyService : System.Web.Services.WebService
{
[WebMethod]
public string Hello(string name)
{
return "你好," + name + "!";
}
}
5.3 ASMX 文件内容
<%@ WebService Language="C#" CodeBehind="MyService.asmx.cs" Class="MyService" %>
六、测试 Web Service
- 按 F5 运行项目
- 浏览器访问:http://localhost:[端口]/MyService.asmx
- 看到服务描述页面,点击方法测试
七、生成客户端调用代码(Add Web Reference)
7.1 添加引用
- 在其他项目中右键“添加服务引用”
- 点击“高级” → 添加 Web 引用
- 输入 URL:http://localhost:[端口]/MyService.asmx
- 命名命名空间后点击“添加引用”
7.2 调用代码
var client = new ServiceReference.MyService();
string result = client.Hello("小奇");
Console.WriteLine(result);
八、部署 Web Service 到 IIS
8.1 发布项目
- 右键项目 → 发布 → 文件夹 → 发布到指定目录
8.2 在 IIS 中配置站点
- 打开 IIS 管理器
- 添加网站 → 选择发布目录
- 启用 .NET Framework 和 ASP.NET 支持
九、RESTful 替代方案(推荐)
如果你是开发新项目,建议使用 ASP.NET Web API 或 ASP.NET Core 构建 REST 接口,兼容性更强、性能更好。
十、常见问题
Q1: 报错 “无法找到 WebService 类型”?
- 检查
Class
名称是否与asmx.cs
文件中的类名一致 - 检查类是否
public
且继承自WebService
Q2: 客户端调用超时或报错?
- 检查防火墙与端口
- 检查 WSDL 地址是否可访问
十一、推荐学习资源
- 微软官方 Web Services 文档
- W3Schools Web Services 教程
- B站搜索“小奇Java面试”观看接口开发实战课程
本文由“小奇Java面试”原创发布,转载请注明出处。
可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。