在.net 6最新的webapi项目中 使用IHostingStartup增强启动项,原Controller无法正常访问?
[assembly: HostingStartup(typeof(WebHostStartup.TestStartup))]
namespace WebHostStartup
{
public class TestStartup : IHostingStartup
{
public void Configure(IWebHostBuilder builder)
{
builder.Configure(app =>
{
});
}
}
}
只要声明了,该部分代码,Controller就无法正常访问,
builder.Configure(app =>
{
});
访问测试地址 /weatherforecast 就会报错404
望大佬指示,谢谢
有没有加 await next()
?
builder.Configure(app => {
app.Use(async (context, next) =>
{
// ...
await next(context);
});
});
感谢回复
builder.Configure(app =>
{
app.Use(async (context, next) =>
{
await next();
});
});
加了 也不行,还是无法访问正常访问
@codit: 建议试试 IStartupFilter ,参考 https://stackoverflow.com/a/62993352
@dudu: 感谢您的回应,按照提供的链接解决了部分的一些问题。
但只是很奇怪为什么在声明
builder.Configure(app =>
{
});
这块代码之后,项目的Controller会访问失效。
@codit: 我猜测可能是这里的 Configure
会覆盖 Startup.Configure
, 你可以把 Startup.Configure 中的代码移到这里试试
IApplicationBuilder 用于构建中间件管线,IApplicationBuilder 一旦 Build,就无法再添加中间件了