将.NET Core 6.0中的SOAP Web服务发布到IIS

ndh0cuux  于 2023-03-23  发布在  .NET
关注(0)|答案(1)|浏览(556)

我看过一些关于如何在IIS中发布用.NET Core 6.0制作的SOAP服务的教程,但我无法让它工作。
以下是配置:

在Visual Studio中执行项目时,它会顺利打开:localhost:1234/Service.asmx但当启动发布到另一台计算机的IIS时,我无法让它响应以下地址:http://LOCALHOST:1819/Service.asmx

有人能给予我一些信息来正确配置发布到IIS吗?给我一些建议或给我一些教程?
非常感谢
我已经尝试了几种配置,在任何情况下,我都无法让服务响应我。

cidc1ykv

cidc1ykv1#

对于另一个人:
本教程解释了如何使用.NET Core 6.0和SOAPCore包创建、配置和部署SOAP服务。主要步骤包括:
创建新的.NET Core 6.0项目。(ASP NET CORE Web API)
安装SOAPCore NuGet包。
实现SOAP服务契约(接口)和相应的服务实现。
在Program.cs文件中配置服务。示例:

using SoapCore;
using SOAP_CORE_V1.Service;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddControllers();
builder.Services.AddSoapCore();
builder.Services.AddSingleton<IService, Service>();

var app = builder.Build();

// Configura el middleware
if (app.Environment.IsDevelopment()) {
  app.UseDeveloperExceptionPage();
}

app.UseRouting(); // Asegúrate de que esta línea esté presente

app.UseEndpoints(endpoints => {
  endpoints.MapControllers();
  app.UseSoapEndpoint<IService>("/SOAP_CORE_V1.asmx", new SoapEncoderOptions());
});

app.Run();

使用IIS Express和Visual Studio在开发环境中调试和运行服务。示例:

http://LOCALHOST:12345/SOAP_CORE_V1.asmx

使用dotnet publish或Visual Studio发布应用程序。
Install the ASP.NET Core module on the IIS server
在IIS中创建新网站或应用程序,指向已发布的输出文件夹。
为生产环境配置web.config文件。在web.config文件中将ASPNETCORE_ENVIRONMENT变量设置为“Production”。示例:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\SOAP_CORE_V1.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" >
        <environmentVariables>
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
        </environmentVariables>
      </aspNetCore>
    </system.webServer>
  </location>
</configuration>

完成这些步骤后,SOAP服务应该可以在以下位置运行并可访问:HTTP://ip:port/SOAP_CORE_V1.asmx

相关问题