2015-04-21 25 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