Dot-Net

在同一個項目中結合 MVC + Blazor

  • July 18, 2020

我們目前的應用程序現在在 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,但我還沒有嘗試過。

引用自:https://stackoverflow.com/questions/54630728