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 メッセージしか表示されません。サービスの実行中に静的ページは表示されません。ここで何か間違ったことをしていると思います。これを行う正しい方法は何ですか?