从ASP.NET Core Web方法提供SOAP

问题描述 投票:2回答:2

在经典ASP.NET中,我们只需使用WebMethod属性标记一个方法,即可创建可从外部应用程序调用的SOAP服务方法。我们如何使用ASP.NET Core实现相同的目标?

它必须是基于XML SOAP的。它必须与ASP.NET类作为后端时工作的客户端兼容。

c# web-services soap asp.net-core
2个回答
5
投票

您可以使用SOAPCore NuGet包来实现这一目标。想象一下你有如下合同:

[ServiceContract]
public interface IPingService
{
    [OperationContract]
    string Ping(string msg);
}

并实施:

public class SampleService : IPingService
{
    public string Ping(string msg)
    {
        return string.Join(string.Empty, msg.Reverse());
    }
}

然后注册该服务:

public void ConfigureServices(IServiceCollection services)
{
     services.AddSingleton(new PingService());
     services.AddMvc();
     //rest goes here
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env,  ILoggerFactory loggerFactory)
{
    app.UseSoapEndpoint(path: "/PingService.svc", binding: new BasicHttpBinding());
    app.UseMvc();
    //rest goes here
}

你可以找到更多信息herehere


-1
投票

这也可以通过[HttpGet]或[HttpPost]来实现。

资料来源:.Net Core: First web Api

© www.soinside.com 2019 - 2024. All rights reserved.