Помещение web.config в каталог, размещенный в угловом приложении, перестает работать. Минимальный API .NET 7, выдает ошиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Помещение web.config в каталог, размещенный в угловом приложении, перестает работать. Минимальный API .NET 7, выдает оши

Сообщение Anonymous »

У меня есть приложение с минимальным API .NET 7, и оно размещено в IIS, и тот же API вызывается в другом приложении angular, которое размещено в том же IIS. Например,
https://example.com — это URL-адрес приложения Angular, где https://example.com/API — это URL-адрес API.
Приложения Angular отлично работают с API. если я не поместил следующий файл web.config в корень приложения Angular, чтобы решить проблему с обновлением, но как только я поместил его туда, API перестал работать и начал выдавать сообщение об ошибке 405.
Вот код конфигурации:


























а вот код из Program.cs
using DataAccess.DBAccess;
using paylocityapi;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.IdentityModel.Tokens;
using System.Text;
using Microsoft.OpenApi.Models;

var builder = WebApplication.CreateBuilder(args);

//swagger

builder.Services.AddSwaggerGen(options =>
{
options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Scheme = "Bearer",
BearerFormat = "JWT",
In = ParameterLocation.Header,
Name = "Authorization",
Description = "Bearer Authentication with JWT Token",
Type = SecuritySchemeType.Http
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Id = "Bearer",
Type = ReferenceType.SecurityScheme
}
},
new List()
}
});
});

//JWT TOKEN

builder.Services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = builder.Configuration["JwtSettings:Issuer"],
ValidAudience = builder.Configuration["JwtSettings:Audience"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["JwtSettings:SecretKey"]))
};
});

// Add services to the container.
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddSingleton();
builder.Services.AddSingleton();
builder.Services.AddSingleton();
builder.Services.AddSingleton();
builder.Services.AddSingleton();
builder.Services.AddSingleton();

builder.Services.AddAuthorization();

// Enable CORS
builder.Services.AddCors(options =>
{
options.AddDefaultPolicy(builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();

}

app.UseHttpsRedirection();

app.ConfigureApi();
app.UseCors();

app.UseAuthentication();
app.UseAuthorization();

app.Run();


Подробнее здесь: https://stackoverflow.com/questions/766 ... ng-net-7-m
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»