我有一个简单的NET6应用程序.已添加控制器并正在try 测试.
运行它,我在Swagger页面上看到方法,在Swagger中执行该方法,它返回200,但它没有返回"Hello World".然后,我将记录器输出添加到控制器构造函数和方法中--无输出.问题的原因可能是什么?我的程序文件
using MTApp.Infra;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddMvc();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.Services.AddDistributedMemoryCache();
builder.Services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromSeconds(1800);
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = true;
});
//builder.Services.AddSession();// !
var app = builder.Build();
app.UseSession(); //<--- add this line
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "MTApp API V1");
});
}
app.UseTenant();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}");
});
app.UseDeveloperExceptionPage();
app.UseHttpsRedirection();
app.MapControllers();
app.Run();
扩展名:
public static class TenantSecurityMiddlewareExtension
{
public static IApplicationBuilder UseTenant(this IApplicationBuilder app)
{
app.UseMiddleware<TenantSecurityMiddleware>();
return app;
}
}
和我的控制器
using Microsoft.Extensions.Logging;
namespace MTApp.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class DobedoController : ControllerBase
{
private readonly ILogger<DobedoController> _logger;
public DobedoController(ILogger<DobedoController> logger)
{
_logger = logger;
_logger.LogInformation("DobedoController");
}
[HttpGet("GetHW2")]
public string GetHW2()
{
_logger.LogInformation("DobedoController:HW2");
return "Hello World2";
}
}
}