Dot-Net
在同一個項目中結合 MVC + Blazor
我們目前的應用程序現在在 ASP.NET Core (MVC) 上執行,我想知道在同一個項目中是否會有一種正式的方式來使用 MVC 和 Blazor(客戶端)?
我之所以要這樣做,是因為我們無法一次性從 MVC 遷移到 Blazor,因為應用程序太大了。我正在考慮從 MVC 到 Blazor 的逐步過渡。只是不確定這是否可能?
對於伺服器端 Blazor,這現在絕對是可能的,Chris Sainty 的部落格(以及該部落格中範例的原始碼)給出了一個確切如何做到這一點的範例。
就我個人而言,我更喜歡將 Blazor 組件放在與 MVC 項目相同的解決方案中的單獨項目中。有幾個原因:
- 我發現 Blazor 項目的啟動速度比 MVC 快
- 我只設法使項目的自動重建(基本熱重載)在 Blazor 項目中工作,而不是在 MVC 項目中
- 我發現能夠隔離 Blazor 組件以確保問題與頁面的 MVC 部分無關是很有用的。
我傾向於將 Blazor 項目設置為啟動項目進行初始調試,然後在準備將組件集成到 MVC 頁面時切換到 MVC 項目。
如果您想嘗試這種方法,我對將伺服器端 Blazor 添加到現有 MVC 核心應用程序的問題的回答完整介紹瞭如何將單獨的 Blazor 項目添加到包含 MVC 項目的現有解決方案中,然後如何在 MVC 項目中使用這些 Blazor 組件。
我希望非常相似的方法也適用於客戶端 Blazor,但我還沒有嘗試過。