我想迁移现有的ASP.NET应用程序的ASP.NET MVC模式格式。我应该遵循哪些程序?任何一步一步的操作将是非常有益的。
这些是我一步一步的指导的基础上,我们在我的公司我们从经典的ASP.Net Web表单移动到ASP.Net MVC期间已采取的步骤。它并不完美,并且仍在继续,因为我们必须这样做,因为该网站的大小的阶段,但也许其他人会发现和文件基于我们的研究结果改进的答案。
阶段:1.规划 - 从ASP.Net Web窗体移动到MVC需要仔细规划。我们在我们的举动犯的错误一点没意识到有实际上有两个方面,到这个阶段的规划,路线规划和模型/控制器/行动计划。不这样做会造成严重问题以后,当你试图扩展您的网站或打更复杂的迁移功能。
提示: - 看看当前的站点地图,并设计在ASP.Net MVC应用程序中使用改进的网站地图/目录结构。找出一种“语言”为您的网站,例如ASP.Net MVC的默认行为是有http://sitename/ {控制器} / {行动} / {ID}行为,但你获得更多的经验黑客的路由规则,你可以重写此。
在我们的例子中,我们反映了当前站点,其中每个子目录成为控制器的实际子目录布局,例如/账户将有一个的AccountController,/ X将有XController。落在里面有所有的网页是由每个控制器内的操作代替。例如http://sitename/profile/about.aspx成了现在http://sitename/profile/about并映射到ProfileController可里面的“约”的ActionResult方法。这使我们能够留在了一系列的冲刺做一个或两个目录(或一个目录内的多个文件)的部分迁移,而不是整个网站一气呵成在更长的持续时间迁移敏捷。
注:如果您在移植阶段保留旧子目录在你的MVC网站的确切名称,这是最好的整体子目录我已经意识到一次迁移,因为只有做了几个文件,你需要的路由规则写变得更加复杂,因为如果使用相同的名称作为一个路由规则的路径上存在一个现有文件夹,该文件夹中有一个Default.aspx文件,然后(/ FOLDERNAME /)将默认为Default.aspx页面,因为它为优先选项路由过规则。
提示:认真考虑使用像RouteDebug路线调试工具,这样你就可以找出像上面奇怪的事情,或者当你有多个路由规则开火并造成意想不到的行为。
这是我的第一稿,请给我的反馈,如果我错过了任何步骤,或者如果你看到指南中的任何孔,我会适当地修改答案。
我不认为有这样的事,作为一个从ASP.NET的WebForms到ASP.NET MVC“一步一步的迁移”。它们是建立在相同的架构两个完全不同的设计模式,但也有(在大多数情况下)很多,不仅需要的东西移动,但是完全重新设计的,如果你不就是想建一个网站应用程序的MVC模板项目,而不是WebForms的模板。
造成这种情况的主要原因是关注点分离,这是MVC比的WebForms更为严格。我目前的工作(当然,我应该是...)在从迁移到的WebForms MVC的老漂亮的马车爱好项目和我的做法已经基本“看功能,从头开始重新构建它。”当然,我不得不格式化,我只是包含在我的新项目输出等一些辅助方法,但大部分的基本的东西,我只是选择了完全重做。你会惊奇地发现它是如何少花了我现在达到与MVC相同的目标,那我设置为应用程式的WebForms一年和半前 - 与使用实体框架,jQuery和其他甜的东西,你就可以在几个小时内产生结果。
可这几个额外的提示,将有助于
我的答案是“你不会” :)。如果你真的想这样做,你可以使用目前的asp.net网站作为自己最终的目标,或者作为一个要求“文件”。也许你可以使用数据层在模型中,但你必须重新设计整个网站。
正如托马斯已经指出的那样,这是从传统的asp.net很大的不同。