怎么使用Asp.netCore3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)專注于十堰網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供十堰營(yíng)銷型網(wǎng)站建設(shè),十堰網(wǎng)站制作、十堰網(wǎng)頁(yè)設(shè)計(jì)、十堰網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造十堰網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供十堰網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

最新的微軟視頻: Full stack web development with ASP.NET Core 3.0 and Blazor - BRK3017  

以下是重要步驟截圖配注解:

一、全棧的解決方案架構(gòu)

                       怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

.Net Core3的全棧解決方案示意圖。

        此圖的第一部分Client 是可以靈活替換的,哪怕它是Vue,Angular 或者 JQuery 都是很完美的一個(gè)解決方案的。在追求整體的前端解決方案之初,是插件的時(shí)代,IFrame的時(shí)代。之所以沒(méi)有一統(tǒng)江湖的框架出來(lái),可能是沒(méi)有一個(gè)一統(tǒng)江湖的Router,而Router是框架的粘合劑。ExtJs,Hae之類就是那時(shí)的巔峰產(chǎn)物,各自實(shí)現(xiàn)了模擬類,組件繼承,路由,頁(yè)面生命周期管理等等。到如今這個(gè)美好時(shí)代,有Vue,Angular了,一個(gè)命令行就做好項(xiàng)目框架,現(xiàn)在Blazor (Client-side) 是首個(gè)利用WebAssembly 實(shí)現(xiàn)的前端解決方案!

        在網(wǎng)站開(kāi)發(fā)演化的過(guò)程中,前后分離的模式基本被推舉為主流,但不時(shí)出現(xiàn)前后一體的技術(shù)架構(gòu),我稱之為全棧解決方案。 比如之前的Asp.net 和 MEAN 框架了。 Asp.net框架實(shí)現(xiàn)WebForm架構(gòu),通過(guò)重重的ViewState來(lái)實(shí)現(xiàn)狀態(tài)的傳遞,最后經(jīng)不起MVC的輕輕一擊就讓位出來(lái)了;而 MEAN框架更是思維超前,全棧用JS開(kāi)發(fā),用JSON傳遞數(shù)據(jù),但又過(guò)于小眾; 還有Gwt或Abp等一些技術(shù),口號(hào)是前端直接調(diào)用后端的服務(wù)或函數(shù)。然后這一次Blazor (Server-side) 是微軟第二次摸索前后一體的技術(shù)架構(gòu),是首個(gè)利用WebSocket技術(shù)實(shí)現(xiàn)的全棧解決方案!

        第二部分,廣大Javaer 請(qǐng)手動(dòng)略過(guò),而且Neter們可以再次信仰充值。到了.Net Core3.0時(shí),Mvc 和 Web Api的Controller完美統(tǒng)一,MVC和Razor pages 的視圖語(yǔ)法統(tǒng)一,Razor Pages可以靈活的介入而無(wú)需MVC的諸多約定(asp的再生)。SignalR的簡(jiǎn)單至極的用法,支持Web,  .Net  ,和Java的客戶端連接以及未來(lái)的C++客戶端,它的后臺(tái)開(kāi)發(fā)你可以用Web服務(wù)承載,甚至可以用控制臺(tái)或桌面程序控制。說(shuō)到桌面程序可以控制每個(gè)Client ,讓我想到了網(wǎng)絡(luò)游戲的開(kāi)發(fā),或許SignalR可以支持網(wǎng)絡(luò)游戲的后臺(tái)管理部分工作,大膽設(shè)想一下,以后網(wǎng)絡(luò)游戲的網(wǎng)絡(luò)連接模塊全用SignalR編寫(xiě), 而游戲的其它重心就只剩圖形和邏輯模塊(即游戲的Client開(kāi)發(fā))了。我沒(méi)接觸過(guò)游戲開(kāi)發(fā),不知道現(xiàn)有的游戲引擎的聯(lián)網(wǎng)模塊如何的工作和高效的,但我認(rèn)為SignalR是微軟送給全世界開(kāi)發(fā)者的禮物,無(wú)論他是用什么語(yǔ)言,在什么領(lǐng)域,都可以嘗試一下。

        第三部分,gRPC的到來(lái)是一場(chǎng)革命,雖然它把后端的戰(zhàn)線又拉長(zhǎng)了1公里,但這1公里是超值的。暢想以后廣大的Net, Java, Python程序員可以歡座一堂,撫鍵盤(pán)而言歡了。而Work Services是.Net Core3中帶來(lái)的服務(wù)功能,就是一個(gè)持續(xù)的進(jìn)程。    

不知道細(xì)心的人有沒(méi)有發(fā)現(xiàn)沒(méi)有上圖沒(méi)有EF Core(數(shù)據(jù)層)呀!其實(shí)EF Core的位置在Web Api,  Worker services,和gRPC里面,它地位只是一個(gè)小工具了。

二、如何啟動(dòng)Blazor的項(xiàng)目調(diào)試

以下是啟動(dòng)步驟,可調(diào)試且安全的Blazor!

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

三、Blazor的基本使用及引入第三方的Blazor組件庫(kù)

簡(jiǎn)單提到了Blazor 的路由@page , 頁(yè)面即組件, Razor文件及Razor語(yǔ)法,如何發(fā)起對(duì)后臺(tái)的Http請(qǐng)求,之后

演示了第三方的表格組件和前端下載Excel文件

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站        怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

如何導(dǎo)出Excel文件

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

瀏覽器側(cè)導(dǎo)出文件本來(lái)是弱項(xiàng),此處到底是如何實(shí)現(xiàn)保存文件的需要研究,真的是Net Core實(shí)現(xiàn)的?

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

重要的伙伴

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

四、Blazor的兩種模式及利弊

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

Client-side:  前端加載量大,依賴瀏覽器的wasm能力,響應(yīng)快。而且微軟標(biāo)注了 Future

Server-side :前端加載小,SignalR,后端負(fù)載大,頁(yè)面元素也是實(shí)時(shí)傳輸?shù)? 它是隨3.0正式發(fā)布的。 
這個(gè)模式我認(rèn)為是微軟又一次的強(qiáng)造的東東,力量大就是好,直的能掰彎,彎的能掰直,但真的能否推廣開(kāi)真的是懸疑。這又是微軟的造車計(jì)劃,參考asp.net平臺(tái)(其它公司只有造輪子的能力,微軟向來(lái)是造車的

服務(wù)端模式初始加載很少,400k, 瀏覽器徹底變成一個(gè)傀儡。mvc 框架中的View,  Razor Pages,以及Blazor的組件都是Rendering Model ,是隨著請(qǐng)求發(fā)送給瀏覽器的,而組件的State是放在Server端的, 建議第32~33分鐘反復(fù)聽(tīng)?zhēng)状危?/p>

現(xiàn)在的Blazor Server項(xiàng)目,瀏覽器端和后端像一個(gè)整體的單機(jī)程序一樣,比如wpf,winform開(kāi)發(fā),組件是有狀態(tài)的,但你不要關(guān)心它即可。這是微軟的asp.net  WebForm架構(gòu)的ViewState方案失敗后的再一次追求前后一體,不明白為什么微軟認(rèn)定了state這種東西了,難道現(xiàn)在的無(wú)狀態(tài)HTTP不爽嗎?
怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

五、Asp.net Core3所支持的SPA模板

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

Angular7 & asp.net core3完美合體

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

六、Worker Services,一個(gè)服務(wù)進(jìn)程的項(xiàng)目模板

    在.Net Core3.0中,有新的Worker Services模板了,它是長(zhǎng)時(shí)間運(yùn)行的工作進(jìn)程,可以承載在windows  services, systemd,WebJobs,容器中,
aps.net core的 易用的配置項(xiàng),日志及DI都是內(nèi)置的,所有的一切只需要你新建一個(gè)asp.net core項(xiàng)目,選擇Work Services模板即可!

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

這又是極簡(jiǎn)的框架,  還是微軟大法好!

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

添加 windows的 服務(wù)支持,它就很容易部署成service了,以下是步驟!

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

再加一句話,然后發(fā)布項(xiàng)目。

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

啟動(dòng)服務(wù)即可:

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

一個(gè)批薩訂單的例子
怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

一次啟動(dòng)多個(gè)項(xiàng)目的設(shè)置:

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

七、 gRPC

proto文件是自動(dòng)編譯的。

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

八、更好的分析工具和性能

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

九、新特性及發(fā)布時(shí)間計(jì)劃

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站

看完上述內(nèi)容,你們掌握怎么使用Asp.net Core3與Blazor的全棧式網(wǎng)站的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站題目:怎么使用Asp.netCore3與Blazor的全棧式網(wǎng)站
URL鏈接:http://bm7419.com/article6/igsiig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、做網(wǎng)站App設(shè)計(jì)、網(wǎng)站策劃、面包屑導(dǎo)航、營(yíng)銷型網(wǎng)站建設(shè)

廣告

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

手機(jī)網(wǎng)站建設(shè)