首页 新闻 搜索 专区 学院

.net 6 WEBAPI项目在使用IHostingStartup增强启动项之后,声明Configure会导致Controller路由访问失效?

0
悬赏园豆:30 [待解决问题]

在.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

望大佬指示,谢谢

codit的主页 codit | 初学一级 | 园豆:172
提问于:2022-08-04 11:26
< >
分享
所有回答(1)
0

有没有加 await next()

builder.Configure(app => {
    app.Use(async (context, next) =>
    {
        // ...
        await next(context);
    });
});
dudu | 园豆:36473 (高人七级) | 2022-08-04 11:32

感谢回复

            builder.Configure(app =>
            {
                app.Use(async (context, next) =>
                {
                    await next();
                });
            });

加了 也不行,还是无法访问正常访问

支持(0) 反对(0) codit | 园豆:172 (初学一级) | 2022-08-04 11:39

@codit: 建议试试 IStartupFilter ,参考 https://stackoverflow.com/a/62993352

支持(0) 反对(0) dudu | 园豆:36473 (高人七级) | 2022-08-05 12:54

@dudu: 感谢您的回应,按照提供的链接解决了部分的一些问题。
但只是很奇怪为什么在声明

builder.Configure(app =>
 {

});

这块代码之后,项目的Controller会访问失效。

支持(0) 反对(0) codit | 园豆:172 (初学一级) | 2022-08-05 14:20

@codit: 我猜测可能是这里的 Configure 会覆盖 Startup.Configure, 你可以把 Startup.Configure 中的代码移到这里试试

支持(0) 反对(0) dudu | 园豆:36473 (高人七级) | 2022-08-05 14:30

IApplicationBuilder 用于构建中间件管线,IApplicationBuilder 一旦 Build,就无法再添加中间件了

支持(0) 反对(0) dudu | 园豆:36473 (高人七级) | 2022-08-05 14:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册