.Net下的CORS跨域設置

来源:https://www.cnblogs.com/digital-college/archive/2022/09/30/16743645.html
-Advertisement-
Play Games

CORS跨域訪問問題往往出現在“瀏覽器客戶端”通過ajax調用“服務端API”的時候。而且若是深究原理,還會發現跨域問題其實還分為【簡單跨域】與【複雜跨域】這兩種情況。 網上對解決跨域限制有很多說明文章,但絕大多數要麼解決的不完善(比如,沒有區分【簡單跨域】與【複雜跨域】),要麼就是解決方案過於複雜 ...


CORS跨域訪問問題往往出現在“瀏覽器客戶端”通過ajax調用“服務端API”的時候。而且若是深究原理,還會發現跨域問題其實還分為【簡單跨域】與【複雜跨域】這兩種情況。

網上對解決跨域限制有很多說明文章,但絕大多數要麼解決的不完善(比如,沒有區分【簡單跨域】與【複雜跨域】),要麼就是解決方案過於複雜化,代碼量巨大。

 

本文提供一種極度簡單且十分完善的跨域訪問限制解決方案,只需一行代碼(僅支持.Net Framework)。即在服務端開發工程中添加Global.asax文件,並讓類繼承自DeveloperSharp.Structure.Base.Global即可(需從NuGet引用DeveloperSharp包)。代碼如下:

    public class Global : DeveloperSharp.Structure.Base.Global
    {

    }

 如此,就解決了跨域訪問問題。

(若需要解決.Net Core跨域問題,請參看這篇文章:.Net Core跨域實現

 

另外,此時若需要使用Application_Start等方法,則形式上需要稍做變化。示例如下:

    public class Global : DeveloperSharp.Structure.Base.Global
    {
        protected override void ApplicationStart(object sender, EventArgs e)
        {
            Application["count"] = 100;
        }

        protected override void SessionStart(object sender, EventArgs e)
        {
            Application["count"] = Convert.ToInt32(Application["count"]) + 1;
        }
    }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、無論是淺拷貝還是深拷貝,拷貝對象後是否會開闢新記憶體,取決於被拷貝對象的數據類型是否可變,一般來講,可變的數據類型會開闢新記憶體,不可變數據類型反之不會開闢新記憶體,進行記憶體地址的引用(-5-256以外的大整數池會開闢記憶體,但我本地進行測試比較記憶體還是一樣的,有問題) 2、要在單層、嵌套型對象中逐一比 ...
  • 前言 環境使用 Python 3.8 Pycharm 模塊使用 import requests —> 數據請求模塊 pip install requests import parsel —> 數據解析模塊 pip install parsel from selenium import webdriv ...
  • Java Hutool 包工具類推薦 ExcelUtil 包引入 hutool包版本號可根據實際情況更換 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.4.M1</ ...
  • 總結: ArrayList與Vector集合的底層都是通過Object[] elementData數組存放對象的 ArrayList使用無參構造器時,初始容量為0,當存放一個對象後,容量擴容為10,此後按1.5*當前容量進行擴容 ArrayList使用帶參構造器時,初始容量為設定值,當存放對象個數達 ...
  • 1.List集合概要 2.Iterable介面 1.概要 2.重要方法 forEach方法:對Collection集合中的每個對象進行消費 List<Student> list = Stream.generate(() -> new Student("張三", 23)).limit(100).col ...
  • Servlet4.0 Response對象Response對象封裝Server返回Client的所有信息。在HTTP協議中,Server傳達給Client信息轉換到HTTP Header或者HTTP BODY中。5.1 Buffering緩衝區Serverlet Container可以但不強制緩衝發 ...
  • 我們在創建條形碼時,如果以圖片的方式將創建好的條碼保存到指定文件夾路徑,可以在程式中直接載入圖片使用;已生成的條碼圖片,需要通過讀取圖片中的條碼信息,如條碼類型、條碼繪製區域在圖片中的四個頂點坐標位置等,可參考本文中的方法。 註:讀取時,也支持讀取二維碼類型。 引入dll 調用API:Spire.B ...
  • 前言 WPF 的 ComboBox 控制項等綁定 enum 值很繁瑣,很讓人頭疼,網上也有提供了一些方法,基本是使用 ObjectDataProvider 方式和 MarkupExtension 方式, 有沒有辦法綁定值為 enum 類型就自動載入所有枚舉值選項,下麵記錄一種方法; 實現方式 主要通過 ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...