You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ServiceStack.Core的ASP.NET Core应用未暴露SOAP端点,是否不支持?

关于ASP.NET Core + ServiceStack SOAP端点的问题

别担心,ASP.NET Core项目完全支持通过ServiceStack暴露SOAP端点——只是默认情况下SOAP并没有被自动启用,所以你才只看到了JSON端点~

要开启SOAP端点,只需要简单两步操作:

  1. 安装SOAP支持的NuGet包
    除了ServiceStack.Core,你还需要安装ServiceStack.Soap包(这是ServiceStack专门提供的SOAP功能扩展包)。可以通过NuGet包管理器或者命令行安装:

    Install-Package ServiceStack.Soap
    

    或者用.NET CLI:

    dotnet add package ServiceStack.Soap
    
  2. 在ServiceStack配置中启用SOAP插件
    在你的ServiceStack AppHost配置类里,添加SOAP格式插件即可。如果是.NET 6+的顶级语句项目,大概是这样的:

    var builder = WebApplication.CreateBuilder(args);
    builder.Services.AddServiceStack(new AppHost());
    
    var app = builder.Build();
    app.UseServiceStack();
    app.Run();
    
    public class AppHost : AppHostBase
    {
        public AppHost() : base("你的应用名称", typeof(你的服务类).Assembly) { }
    
        public override void Configure(Container container)
        {
            // 启用通用SOAP支持(同时包含SOAP 1.1和SOAP 1.2)
            Plugins.Add(new SoapFormat());
    
            // 如果你只想启用特定版本的SOAP,可以单独添加:
            // Plugins.Add(new Soap11Format()); // 仅SOAP 1.1,端点路径/soap11
            // Plugins.Add(new Soap12Format()); // 仅SOAP 1.2,端点路径/soap12
        }
    }
    

配置完成后,重新启动项目,你就能访问对应的SOAP端点了:

  • SOAP 1.1端点:/soap11
  • SOAP 1.2端点:/soap12

这时候再查看ServiceStack的元数据页面(默认是/metadata),就能看到SOAP相关的端点选项啦。

内容的提问来源于stack exchange,提问作者Tushar Nimbalkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:42:39