.NetCore构建Webservice服务的实现步骤
在.NETCore中,使用SoapCore库可构建WebService服务。需创建ASP.NETCore空项目,添加SoapCore引用,定义服务接口与实现类,然后在Program.cs中注册服务并配置终结点,支持SOAP1.1或1.2协议,即可实现SOAPWeb服务。
这个题目听起来可能有点反直觉——既然都已经用上 .NET Core 了,为什么不直接用 API,反而回头去折腾老掉牙的 WebService?但既然能冒出这个需求,背后多半有些让人无奈的场景:客户指定要对接、业务系统历史遗留、领导拍脑袋决定,或者对接方的小工程师只认 .asmx 地址。形势比人强,那就试试新瓶装旧酒吧。
经常用 WebService 的朋友都知道,.NET Core 里没法直接新建一个 WebService 项目。所以咱们先建一个空的 .NET Core 模板,项目取名 TestWebService。框架版本根据实际需求选,建议 6.0 以上,我这里用的是 8.0。

项目建好之后,在 NuGet 控制台或管理界面给项目添加 SoapCore 引用。

接着新建一个接口文件 IMyWebService.cs,定义服务契约。
using System.ServiceModel;
namespace TestWebService
{
[ServiceContract]
public interface IMyWebService
{
[OperationContract] // 声明这是一个服务操作(方法)
string HelloWorld(string name);
}
}
然后实现这个接口,新建 MyWebService.cs。
namespace TestWebService
{
public class MyWebService : IMyWebService
{
public string HelloWorld(string name)
{
return $"Hello, {name}!";
}
}
}
关键的一步来了:修改 Program.cs,在 builder 后面注册服务。
// 注册服务 builder.Services.AddSoapCore(); builder.Services.AddSingleton();
然后在 app 后面添加终结点。
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.UseSoapEndpoint("/MyService.asmx", new SoapEncoderOptions(), SoapSerializer.XmlSerializer);
});
项目的结构以及 Program.cs 的完整代码如下图所示。

启动项目,在浏览器里访问 https://localhost:你的端口/MyService.asmx。如果看到下面的页面,说明一个简单的 WebService 已经跑起来了。

粗略观察一下,这里绑定的是 SOAP 1.1 协议。
但有些场景下需要用到 SOAP 1.2 协议,该怎么办?其实很简单,注册终结点的时候指定一下消息版本即可。
app.UseEndpoints(endpoints =>
{
endpoints.UseSoapEndpoint("/MyService.asmx",
new SoapEncoderOptions { MessageVersion = System.ServiceModel.Channels.MessageVersion.Soap12WSAddressing10 },
SoapSerializer.XmlSerializer);
});
再次启动并刷新页面,你会发现已经绑定上了 1.2 协议。
最后随便新建一个项目,添加服务引用,就可以看到我们刚刚搭建的 WebService 被自动发现了。后续把之前的业务逻辑迁移过来,一切就顺理成章了。

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。













