Configuration: Release
Target framework: net8.0
Target runtime: Portable
в IIS на Windows Server 2012 R2 я всегда получаю ошибку 404.
Чтобы проверить, действительно ли IIS что-то обслуживает, я создал index.html в корне сайта. Когда я перехожу к этому местоположению, обслуживается index.html. Итак, IIS действительно что-то служит...
Я также установил пакет хостинга Windows ASP.NET Core Runtime 8.0.5.
В IIS я иметь ApplicationPool со следующими настройками:
- .NET CLR версии v4.0.30319
- Конвейерный режим: встроенный
- При доступе к /swagger -> 404 (и да, я удалил проверка IsDevelopment()
)
- При доступе к GET-запросу (/foo/1) Я получаю ошибку 404.
PS: У меня есть полный контроль над сервером Windows.
Вот моя программа.cs:
using MediatR;
using ProjectLifeApi.Application.CreateToDoItem;
using ProjectLifeApi.Application.GetToDoItems;
using ProjectLifeApi.Infrastructure;
using ProjectLifeApi.Infrastructure.CreateTask;
using ProjectLifeApi.Infrastructure.GetToDoItems;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(options =>
{
options.CustomSchemaIds(type => type.ToString());
});
builder.Services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblyContaining());
builder.Services.AddTransient();
builder.Services.AddTransient();
var dbSettings = new DatabaseSettings();
builder.Configuration.GetSection("Database").Bind(dbSettings);
builder.Services.AddSingleton(dbSettings);
var app = builder.Build();
// Configure the HTTP request pipeline.
//if (app.Environment.IsDevelopment())
//{
app.UseSwagger();
app.UseSwaggerUI();
//}
//app.UseHttpsRedirection();
app.MapPost("/todo", async (CreateToDoItemCommand command, ISender sender) =>
{
await sender.Send(command);
});
app.MapGet("/todo/{date}", async (DateOnly date, ISender sender) =>
{
return await sender.Send(new GetToDoItemsQuery { Date = date });
});
app.Run();
Подробнее здесь: https://stackoverflow.com/questions/786 ... loy-in-iis