netcore3.1配置webapi Controller打开报错

问题描述:刚配置好了swagger,沿用netcore2.2的配置继续在浏览器打开api控制器,结果报错了。。。

解决方法:从路由层面查找了半天原因,无果,最后把api页面中的跨域设置去掉后正常了,看来和跨越设置有关,继续查找,原来是注册时候顺序导致的问题

复制代码
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseStaticFiles();
            app.UseCookiePolicy();
            app.UseRouting();
            //允许跨域 位置和必须放对,否则加载出错
            app.UseCors("any");
            app.UseEndpoints(endpoints => endpoints.MapDefaultControllerRoute());

            //启用中间件服务生成Swagger作为JSON终结点
            app.UseSwagger();
            //启用中间件服务对swagger-ui,指定Swagger JSON终结点
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
            });

            var log = LogManager.GetLogger(repository.Name, typeof(Startup));
            log.Info("Start Runing");
        }
复制代码

跨域设置加载必须放到UseRouting和UseEndpoints中间

参考链接:https://www.cnblogs.com/puzi0315/p/12197612.html

posted @   wangbg  阅读(1255)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示