0

3.1 バージョンの ASP.NET CORE プロジェクトがあります。このプロジェクトをホストするために HTTP.SYS を使用しています。このプログラムで提供されている wwwroot フォルダーには、いくつかの静的ファイルがあります。これが私のstartup.csの外観です。

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();

        services.AddMvc().ConfigureApiBehaviorOptions(o =>
        {
             o.SuppressMapClientErrors = true;
             o.SuppressModelStateInvalidFilter = true;
        })
        .AddNewtonsoftJson(o => o.SerializerSettings.DateParseHandling = DateParseHandling.DateTimeOffset)
        .SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
            
        services.Configure<HttpSysOptions>(options =>
        {
            options.UrlPrefixes.Add("http://localhost:44385/");
            services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy", builder => builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
            });
         });
    }


    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
            
        app.UseFileServer();
        app.UseRouting();
            
        app.UseCors(o => o.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());


        app.UseEndpoints(endpoints => 
        {
            endpoints.MapGet("/", async context =>
            {
                await context.Response.WriteAsync("Hello World");
            });
        });
    }
}

そして、私の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.UseHttpSys();
             webBuilder.UseStartup<Startup>();
          }).UseWindowsService();
}

このコードを使用すると、Windows サービスを作成して実行できますが、URL にアクセスしたときに Hello World メッセージしか表示されません。サービスの実行中に静的ページは表示されません。ここで何か間違ったことをしていると思います。これを行う正しい方法は何ですか?

4

1 に答える 1