小編給大家分享一下ASP.NET Core中如何實現(xiàn)接口代理轉(zhuǎn)發(fā),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
前言
先講講本文的開發(fā)背景吧..
在如今前后端分離的大背景下,咱的客戶又有要求啦~
要前后端分離~ 然因為種種原因..沒辦法用用純前端的框架(其實是學習成本高,又沒錢請前端開發(fā)人員)...
所以最終決定了一種方案..
那就是采用MVC(只處理前端視圖層,單純是為了托管在.net core上)+Webapi的方式來實現(xiàn)前后端分離(講真,很奇葩)..
那么問題就隨之而來了.
現(xiàn)在主流的前端框架都是托管在nodejs上,是通過axios來訪問后端API,可以通過配置axios的代理配置(proxyTable)來實現(xiàn)跨域訪問.
那么我們的JS運行在MVC上,托管在.net core上..那咋辦呢?..沒有現(xiàn)成的轉(zhuǎn)發(fā)輪子..我們只有自己造了..
所以這就是本篇的背景 - -.~
正文
幸運的是ASP.NET Core 給我們提供了強大的中間件模式.
我們完全可以通過定義一個轉(zhuǎn)發(fā)中間件的形式來實現(xiàn)代理接口轉(zhuǎn)發(fā),流程如圖:
廢話不多說,我們來創(chuàng)建我們的中間件:
一.創(chuàng)建檢測約定URL的接口與實現(xiàn)
首先定義一個接口IUrlRewriter 用來檢測我們的URL是否有對應前綴,如果有,則產(chǎn)生新的URL地址:
這里我們定義接口是為了方便以后更好的更換注入類來實現(xiàn)快速更換檢測前綴的規(guī)則.
public interface IUrlRewriter { Task<Uri> RewriteUri(HttpContext context); }
當前文章:ASP.NETCore中如何實現(xiàn)接口代理轉(zhuǎn)發(fā)-創(chuàng)新互聯(lián)
文章鏈接:http://aaarwkj.com/article24/gdsje.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、網(wǎng)站收錄、電子商務、移動網(wǎng)站建設、網(wǎng)站建設、品牌網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容