(精華)2020年7月1日 ASP.NET Core 解決跨域問題(手寫版)
using Microsoft.AspNetCore.Http;
using System.Threading.Tasks;
namespace Core.Api
{
/// <summary>
/// 跨域中介軟體
/// </summary>
public class CorsMiddleware
{
private readonly RequestDelegate _next;
/// <summary>
/// 管道執行到該中介軟體時候下一個中介軟體的RequestDelegate請求委託,如果有其它引數,也同樣通過注入的方式獲得
/// </summary>
/// <param name="next">下一個處理者</param>
public CorsMiddleware(RequestDelegate next)
{
_next = next;
}
/// <summary>
/// 自定義中介軟體要執行的邏輯
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
public async Task Invoke(HttpContext context)
{
context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
context.Response.Headers.Add("Access-Control-Allow-Headers", context.Request.Headers["Access-Control-Request-Headers"]);
context.Response.Headers.Add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
//若為OPTIONS跨域請求則直接返回,不進入後續管道
if (context.Request.Method.ToUpper() != "OPTIONS")
await _next(context);//把context傳進去執行下一個中介軟體
}
}
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseMiddleware<CorsMiddleware>()//跨域
}
相關文章
- 學習ASP.NET Core(11)-解決跨域問題與程式部署ASP.NET跨域
- 解決跨域問題跨域
- 搞懂:前端跨域問題JS解決跨域問題VUE代理解決跨域問題原理前端跨域JSVue
- 使用 core.js 解決 GraphQL Mock Server 跨域問題JSMockServer跨域
- WebSocket跨域問題解決Web跨域
- Java解決跨域問題Java跨域
- Flask解決跨域問題Flask跨域
- CROS 解決跨域問題ROS跨域
- SignalR跨域問題解決SignalR跨域
- cors解決跨域問題CORS跨域
- Luffy - 解決跨域問題跨域
- 《Asp.Net Core3 + Vue3入坑教程》 - 配置CORS策略解決跨域問題ASP.NETVueCORS跨域
- 深入跨域問題(3) – 利用 JSONP 解決跨域跨域JSON
- 深入跨域問題(3) - 利用 JSONP 解決跨域跨域JSON
- 深入跨域問題(2) - 利用 CORS 解決跨域跨域CORS
- Nginx解決前端跨域問題 CORS跨域配置Nginx前端跨域CORS
- 跨域問題及解決方案跨域
- 輕鬆解決跨域問題跨域
- thinkphp 5 跨域問題解決PHP跨域
- JAVA | Java 解決跨域問題Java跨域
- 跨域問題解決辦法跨域
- SpringBoot跨域問題解決方案Spring Boot跨域
- 解決JS跨域訪問的問題JS跨域
- vue webpack配置解決跨域問題VueWeb跨域
- 前端跨域問題及其解決方案前端跨域
- Flutter Web 跨域問題解決方案FlutterWeb跨域
- 跨域問題,解決方案 – CORS方案跨域CORS
- nginx /Java 解決跨域問題方案NginxJava跨域
- 前端怎麼解決跨域問題前端跨域
- spring mvc解決ajax跨域問題SpringMVC跨域
- 前端解決跨域問題總結前端跨域
- Django專案解決跨域問題Django跨域
- nginx 解決圖片跨域問題Nginx跨域
- 解決常見介面跨域問題跨域
- 前端http請求跨域問題解決前端HTTP跨域
- Vue中跨域問題解決方案1Vue跨域
- Nuxt使用axios跨域問題解決方法UXiOS跨域
- 解決跨域問題 barryvdh/Laravel-cors跨域LaravelCORS