2015-04-21 50 views
1

我們正在開始大型WebForms應用程序的重大升級。該邏輯將在前端的AngularJS和後端的.NET MVC之間進行拆分。什麼是放置路由的標準?我可以將它放在服務器上的RouteConfig.cs中,並讓.NET負責路由;或者我可以在客戶端上使用ng-route,並且只使用WebApi對服務器的調用。 我看到優點和缺點,我想知道是否有人有任何決定標準。或者我錯過的一些文章(Google在實施路線方面有很多,但不是選擇一個而已)。路由:在AngularJS或.NET MVC中?

+1

沒有其他的文章,但我會說這是你想要處理更多國家控制的問題。作爲一個更大的單頁面應用程序,它全部在客戶端。作爲使用角度,ASP和MVC的當前分割網站的開發人員,我們不能只做一個。所以問題在於一些開發者認爲一種方式和另一種方式認爲是另一種方式,這會產生問題。但我們無法完全切換。 – KnowHowSolutions

+0

@KnowHowSolutions - 你不會更容易:)這是一個非常大的應用程序;我真的害怕加載所有.js控制器。尋找Web組件來動態加載東西。另一方面,我想盡可能使應用程序儘可能快速響應,因此處理狀態在客戶端似乎更符合邏輯。 – Felix

回答

2

我會爭辯的問題完全分離,所以在客戶端路由。在客戶端上進行路由可以讓客戶端控制正在顯示的內容。服務器將僅通過休息來提供原始數據。

這也可以讓你在將來更加靈活。說在2年內,你想爲下一個新的客戶端框架拋棄Angular。您所需要的只是客戶端開發人員實現調用現有端點的UI,而不需要觸摸服務器代碼。想要離開.NET後端?沒問題,只需在新框架中實現端點,不需要更改客戶端。

+0

我不認爲我們會在兩年內做出根本性的改變 - 它需要10年時間才能擺脫寫得很差的WebForms。但你的觀點很好!我也傾向於客戶 - 但是現在如果出現問題,我要指責:D – Felix

0

您應該同時使用,因爲您的應用程序很大。

讓我們說你的屏幕是在規則的基礎上劃分的。

當管理員登錄時,您將加載與該功能相關的所有文件,然後利用ng-view並將該功能作爲單個頁面應用程序。

所以這樣你就不需要加載所有文件一次。通過ng-view你也可以在不同的屏幕之間共享數據。

+0

管理員是一個單獨的應用程序,運行在不同的地址上。同樣大;) – Felix