ASP.NETCore中如何實現(xiàn)接口代理轉(zhuǎn)發(fā)-創(chuàng)新互聯(lián)

小編給大家分享一下ASP.NET Core中如何實現(xiàn)接口代理轉(zhuǎn)發(fā),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

我們擁有10年網(wǎng)頁設(shè)計和網(wǎng)站建設(shè)經(jīng)驗,從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計、成都做手機(jī)網(wǎng)站H5場景定制、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計或者設(shè)計方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計服務(wù)并滿足您的需求。

前言

先講講本文的開發(fā)背景吧..

在如今前后端分離的大背景下,咱的客戶又有要求啦~

要前后端分離~ 然因為種種原因..沒辦法用用純前端的框架(其實是學(xué)習(xí)成本高,又沒錢請前端開發(fā)人員)...

所以最終決定了一種方案..

那就是采用MVC(只處理前端視圖層,單純是為了托管在.net core上)+Webapi的方式來實現(xiàn)前后端分離(講真,很奇葩)..

那么問題就隨之而來了.

現(xiàn)在主流的前端框架都是托管在nodejs上,是通過axios來訪問后端API,可以通過配置axios的代理配置(proxyTable)來實現(xiàn)跨域訪問.

那么我們的JS運(yùn)行在MVC上,托管在.net core上..那咋辦呢?..沒有現(xiàn)成的轉(zhuǎn)發(fā)輪子..我們只有自己造了..

所以這就是本篇的背景 - -.~

正文

幸運(yùn)的是ASP.NET Core 給我們提供了強(qiáng)大的中間件模式.

我們完全可以通過定義一個轉(zhuǎn)發(fā)中間件的形式來實現(xiàn)代理接口轉(zhuǎn)發(fā),流程如圖:

ASP.NET Core中如何實現(xiàn)接口代理轉(zhuǎn)發(fā)

廢話不多說,我們來創(chuàng)建我們的中間件:

一.創(chuàng)建檢測約定URL的接口與實現(xiàn)

首先定義一個接口IUrlRewriter 用來檢測我們的URL是否有對應(yīng)前綴,如果有,則產(chǎn)生新的URL地址:

這里我們定義接口是為了方便以后更好的更換注入類來實現(xiàn)快速更換檢測前綴的規(guī)則.

public interface IUrlRewriter
{
    Task<Uri> RewriteUri(HttpContext context);
}

當(dāng)前文章:ASP.NETCore中如何實現(xiàn)接口代理轉(zhuǎn)發(fā)-創(chuàng)新互聯(lián)
文章鏈接:http://bm7419.com/article24/gdsje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站收錄、電子商務(wù)移動網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站