在IIS上托管.net5.0核心Web API时出现问题(10.0.17763.1)

扎卡里亚·哈萨尼(Zakaria Al-Hassani)

我在将.net core 5.0 Web API托管在IIS时遇到问题,因此我决定创建一个基本的即装即用版本(WeatherForecast)。同样,这在IIS上也不起作用(因此,我认为这不是我的代码)。我已经安装了.Net Core Hosting Bundle 5.0(V5.0.2),并重新启动了IIS(net stop was /ynet start w3svc)。

我的网站托管在https://authdev.XXXXXXXX.net/api/weatherforecast(其中XXXXXXXX.net在我的内部网络上)。该服务器是Microsoft Hyper-V Server2019。我有一个单独的应用程序池,在集成管道模式下,.Net CLR版本设置为“无托管代码”。我的网站设置了适当的绑定,并且配置正确。我已经通过创建一个.Net Core 5.0 MVC网站(开箱即用)从该服务器远程工作来确认这一点。我在进程外模式下得到404(并且相同的URL在本地与明显的服务器URL更改一起工作)。我在某一阶段添加了日志记录信息,并发现public void Configure(IApplicationBuilder app, IWebHostEnvironment env)Startup.cs中的方法未命中。

错误消息500.30-ASP.NET Core应用无法启动

我认为此消息表明我的托管环境已正确配置,但我的Web API(开箱即用)存在错误。

Program.cs

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder
                    .UseContentRoot(Directory.GetCurrentDirectory())
                    .UseKestrel()
                    .UseIISIntegration()
                    .UseStartup<Startup>();
            });
}

web.config

<?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=".\WebApplication4.exe" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: 9f838b88-2902-4f1d-96d5-468aa0449fb0-->

启动文件

public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
    }

我尝试在进程内和进程外模式下运行此命令

进程内日志

crit: Microsoft.AspNetCore.Hosting.Diagnostics[6]
      Application startup exception
      System.InvalidOperationException: Application is running inside IIS process but is not configured to use IIS server.
         at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
         at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
         at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
Unhandled exception. System.InvalidOperationException: Application is running inside IIS process but is not configured to use IIS server.
   at Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at WebApplication4.Program.Main(String[] args) in C:\Working\dev\sandbox\WebApplication4\WebApplication4\Program.cs:line 17

进程外日志

info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://127.0.0.1:43593
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: e:\websites\auth-api
肖恩·维尔德穆斯

您确定要以独立包装发布吗?因为如果没有,您的配置应如下所示:

      <aspNetCore processPath="dotnet"
                  arguments=".\WebApplication16.dll"
                  stdoutLogEnabled="false"
                  stdoutLogFile=".\logs\stdout"
                  hostingModel="inprocess" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在IIS上托管ASP.NET 5项目

来自分类Dev

GAC问题无法在IIS上托管应用程序

来自分类Dev

Windows Azure上托管的ASP.NET Web API 2中的OAUTH2选项

来自分类Dev

如何在IIS 10上托管ASP.NET Web API 2项目

来自分类Dev

IIS上托管的ASP.NET 5(DNX)中的WebSocket不起作用

来自分类Dev

在IIS上托管rc1-final-update1的问题

来自分类Dev

如何在没有Powershell的Windows 10 IoT核心中托管Asp.Net 5 Web API

来自分类Dev

如何在Amazon Web Services(AWS)上托管ASP.NET API?

来自分类Dev

在IIS(ASP.NET)上托管时,Quartz在后台运行多长时间?

来自分类Dev

如何对Azure上托管的Web应用程序和window的IIS服务器上托管的Web应用程序使用相同的自定义域?

来自分类Dev

值为0时,展开收集出现问题

来自分类Dev

无法在IIS上托管.Net Core 3.1 Web API

来自分类Dev

我的动态数组出现问题-线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x0)

来自分类Dev

Kubernetes:将本地文件夹安装到Pod时出现问题-“ 0/1个节点可用:1个节点具有卷节点亲缘性冲突。”

来自分类Dev

(路由问题)在IIS上托管.NET Core 5.0 MVC应用程序

来自分类Dev

使用SSL加密在IIS 10上托管WCFService库

来自分类Dev

仅在.NET5上的PUT上出现CORS问题

来自分类Dev

setembed命令出现问题(以10为底的int()的无效文字:'0x00ffff')

来自分类Dev

Windows Azure上托管的ASP.NET Web API 2中的OAUTH2选项

来自分类Dev

尝试使用Mono和Nginx在Debian上托管ASP.NET Web Api时遇到问题

来自分类Dev

如何使用IIS上托管的wsHttpBinding配置WCF服务并通过Web消耗它?

来自分类Dev

如何在IIS 10上托管ASP.NET Web API 2项目

来自分类Dev

如何在没有Powershell的Windows 10 IoT核心中托管Asp.Net 5 Web API

来自分类Dev

如何在Amazon Web Services(AWS)上托管ASP.NET API?

来自分类Dev

在IIS(ASP.NET)上托管时,Quartz在后台运行多长时间?

来自分类Dev

在IIS上托管Web应用程序时,获取外部表的格式不是预期的格式

来自分类Dev

将asp.net核心Web API部署到IIS 7.5时出现500错误

来自分类Dev

无法调用托管在 IIS 10、Windows 10 上的 ASP.NET Web API

来自分类Dev

在 17763 上使用 NavigationView 时的两个按钮

Related 相关文章

  1. 1

    在IIS上托管ASP.NET 5项目

  2. 2

    GAC问题无法在IIS上托管应用程序

  3. 3

    Windows Azure上托管的ASP.NET Web API 2中的OAUTH2选项

  4. 4

    如何在IIS 10上托管ASP.NET Web API 2项目

  5. 5

    IIS上托管的ASP.NET 5(DNX)中的WebSocket不起作用

  6. 6

    在IIS上托管rc1-final-update1的问题

  7. 7

    如何在没有Powershell的Windows 10 IoT核心中托管Asp.Net 5 Web API

  8. 8

    如何在Amazon Web Services(AWS)上托管ASP.NET API?

  9. 9

    在IIS(ASP.NET)上托管时,Quartz在后台运行多长时间?

  10. 10

    如何对Azure上托管的Web应用程序和window的IIS服务器上托管的Web应用程序使用相同的自定义域?

  11. 11

    值为0时,展开收集出现问题

  12. 12

    无法在IIS上托管.Net Core 3.1 Web API

  13. 13

    我的动态数组出现问题-线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x0)

  14. 14

    Kubernetes:将本地文件夹安装到Pod时出现问题-“ 0/1个节点可用:1个节点具有卷节点亲缘性冲突。”

  15. 15

    (路由问题)在IIS上托管.NET Core 5.0 MVC应用程序

  16. 16

    使用SSL加密在IIS 10上托管WCFService库

  17. 17

    仅在.NET5上的PUT上出现CORS问题

  18. 18

    setembed命令出现问题(以10为底的int()的无效文字:'0x00ffff')

  19. 19

    Windows Azure上托管的ASP.NET Web API 2中的OAUTH2选项

  20. 20

    尝试使用Mono和Nginx在Debian上托管ASP.NET Web Api时遇到问题

  21. 21

    如何使用IIS上托管的wsHttpBinding配置WCF服务并通过Web消耗它?

  22. 22

    如何在IIS 10上托管ASP.NET Web API 2项目

  23. 23

    如何在没有Powershell的Windows 10 IoT核心中托管Asp.Net 5 Web API

  24. 24

    如何在Amazon Web Services(AWS)上托管ASP.NET API?

  25. 25

    在IIS(ASP.NET)上托管时,Quartz在后台运行多长时间?

  26. 26

    在IIS上托管Web应用程序时,获取外部表的格式不是预期的格式

  27. 27

    将asp.net核心Web API部署到IIS 7.5时出现500错误

  28. 28

    无法调用托管在 IIS 10、Windows 10 上的 ASP.NET Web API

  29. 29

    在 17763 上使用 NavigationView 时的两个按钮

热门标签

归档