Asp.Net WebApi+Microsoft.AspNet.WebApi.Core 启用CORS跨域访问
WebApi中启用CORS跨域访问
1.安装 Nugget包Microsoft.AspNet.WebApi.Cors
This package contains the components to enable Cross-Origin Resource Sharing (CORS) in ASP.NET Web API.
此包包含启用跨域资源共享的组件(CORS)在ASP.NET Web API。
目前版本是5.2.3
依赖项:
Microsoft.AspNet.WebApi.Core (>= 5.2.2 && < 5.3.0)
Microsoft.AspNet.Cors (>= 5.2.2)
2.WebApiApplication中启用跨域功能,默认是不可用的
public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() { //启用跨域 /* * 注意,必须先启用跨域,然后,启用注册路由 */ GlobalConfiguration.Configuration.EnableCors(); GlobalConfiguration.Configure(WebApiConfig.Register); } }
3.[EnableCors]在Controller或Action配置跨域方案
//支持客户端凭据提交 [EnableCors("http://localhost:51421", "*", "*", SupportsCredentials = true)] //[EnableCors("http://localhost:51421", "*", "*")] // [EnableCors("*", "*", "*")] public string GetOne() { return "1234"; }
客户端访问,带客户端凭据信息
$.ajax({ url: apiUrl.getCookie('getone'), // url: apiUrl.getCookie('gettwo'), data: { age: 11 }, xhrFields: { withCredentials: true //支持附带详细信息 }, crossDomain: true,//请求偏向外域 success: function (data) { alert(data); } });
4.在controller中,指定[EnableCors]对所有的action,都起作用,然而,还可以单独指定到某个action
[EnableCors("*", "*", "*")] public class CookieOneController : ApiController { //支持客户端凭据提交 [EnableCors("http://localhost:51421", "*", "*", SupportsCredentials = true)] //[EnableCors("http://localhost:51421", "*", "*")] // [EnableCors("*", "*", "*")] public string GetOne() { return CookieHelper.GetString("username"); } [HttpGet] [HttpPost] public string GetTwo() { return "1234"; } }
更多:
https://www.asp.net/web-api/overview/releases/whats-new-in-aspnet-web-api-22
Asp.Net WebApi 启用CORS跨域访问指定多个域名
Cors 跨域Access-Control-Allow-Origin
资料地址:
http://www.cnblogs.com/artech/p/cors-4-asp-net-web-api-05.html
官方文档:
https://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api#enable-cors
分类:
Asp.Net-WebAPI
标签:
Asp.Net WebAPI
, 跨域访问
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2013-12-31 Excel操作 Microsoft.Office.Interop.Excel.dll的使用
2013-12-31 c#使用Microsoft Excel 12.0 object Libary导出的Excel文件office2003不能打开!!~~(分享)
2013-12-31 解决第三方DLL没有强签名
2013-12-31 WorkBook的SaveAs方法 2
2013-12-31 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
2013-12-31 ExcelApplication 另存Excel的SaveAs函数
2013-12-31 让VC编译出来的程序不依赖于msvcr80.dll/msvcr90.dll/msvcr100.dll等文件