当前位置:首页 > 编程 > 正文内容

C# ASP.NET MVC/WebApi 或者 ASP.NET CORE 最简单高效的跨域设置

rqc1年前 (2021-10-27)编程462

概述

前面写了一篇:《C# ASP.NET WebApi 跨域设置》的文章,主要针对 ASP.NET WebApi 项目。

今天遇到 ASP.NET MVC 项目也需要设置跨域,否则浏览器提示:

Access to XMLHttpRequest at 'xxxx' from origin 'null' has been blocked by CORS policy: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response.

于是,重新找到了一种最简单和高效的跨域设置,不仅针对传统 ASP.NET 项目有效,对 ASP.NET CORE 项目同样有效。

设置方式

在 Web.config 配置文件的 configuration 节点里面添加:

<system.webServer>
	<httpProtocol>
		<customHeaders>
			<add name="Access-Control-Allow-Origin" value="*" />
			<add name="Access-Control-Allow-Headers" value="Content-Type" />
			<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
		</customHeaders>
	</httpProtocol>
</system.webServer>


效果如下图:

image

ASP.NET CORE 项目特别说明

在 ASP.NET CORE 项目中是没有 Web.config 文件的,一般是 app.config 文件,其实发布项目后会生成 Web.config 文件的。我们只需要照例从文件模板中添加 Web 配置文件即可!

参考文章

https://stackoverflow.com/questions/59471861/access-to-xmlhttprequest-from-origin-has-been-blocked-by-cors-policy-no-access


扫描二维码推送至手机访问。

版权声明:本文由任前程发布,如需转载请注明出处。

本文链接:https://rqc.im/?id=11

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。