.net 5 webapi 跨域问题解决


   最近又要写一个webapi,然后想到了跨域问题,想起上次做的时候研究了好久才成功,这次想起来还是记录一下,防止以后又花大量的时间去找方法。

关于跨域问题解决方法有以下几种:

         1.JSONP 通过浏览器标签去请求WebApi;避开跨域问题。
    2.通过后台模拟Http请求去请求WebApi
    3.在服务器端允许跨域。

  第一种方法我没试过,第二种方法通过后端语言发起请求自然是没有跨域问题的,但是不符合我项目要求,然后就是第三种方法了。使用cros使webapi项目支持不同域名的请求。以前用.net framework 的时候也研究过,照着https://www.cnblogs.com/landeanfen/p/5177176.html 这篇文章的方法运行成功了。

    .net core也提供了相应的包Microsoft.AspNetCore.Cors。在安装完程序包后,我们在Startup.cs 中找到ConfigureServices方法,在其中注册cros。

 

然后在Configure方法中使用注册好的服务。

 

这样就可以解决跨域问题了,但是要注意的是,app.UseCors的位置,需要放在UseRouting()的后面,UseAuthorization()的前面,我第一次使用的时候就是UseCors放在了最前面导致怎么试都不成功,耗费了我不少时间,希望下次可以记住。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM