Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Silverlight到ASP.net MVC的迁移_Asp.net Mvc_Silverlight_Razor_Asp.net Mvc 5_Migration - Fatal编程技术网

Asp.net mvc Silverlight到ASP.net MVC的迁移

Asp.net mvc Silverlight到ASP.net MVC的迁移,asp.net-mvc,silverlight,razor,asp.net-mvc-5,migration,Asp.net Mvc,Silverlight,Razor,Asp.net Mvc 5,Migration,我的任务是将Silverlight应用程序迁移到ASP.net MVC5。挑战在于,一些模块已经构建在MVC应用程序中,可以独立运行,也可以从Silverlight应用程序中加载。现有的MVC应用程序是在过去的2-3年中由几个具有不同技能的开发人员开发的,代码不是很好。代码的编码标准遵从性差,可重用性差,没有编码的单元测试,没有DI,大量的内联样式,等等 我想为Silverlight迁移重新开始一个新的MVC项目,这样我就可以尝试解决当前MVC应用程序中的问题。最终,我想达到这样一个地步,Sil

我的任务是将Silverlight应用程序迁移到ASP.net MVC5。挑战在于,一些模块已经构建在MVC应用程序中,可以独立运行,也可以从Silverlight应用程序中加载。现有的MVC应用程序是在过去的2-3年中由几个具有不同技能的开发人员开发的,代码不是很好。代码的编码标准遵从性差,可重用性差,没有编码的单元测试,没有DI,大量的内联样式,等等

我想为Silverlight迁移重新开始一个新的MVC项目,这样我就可以尝试解决当前MVC应用程序中的问题。最终,我想达到这样一个地步,Silverlight和旧的MVC应用程序可以被完全抛弃,新的MVC应用程序成为唯一运行的应用程序。然而,在迁移完成之前,这三者都需要共存。对于Silverlight应用程序,我没有预见到问题,因为我可以调整它以从两个不同的MVC站点加载MVC页面。然而,我面临的主要挑战是制定策略,以便用户能够从旧应用程序访问新MVC应用程序中的新模块,直到我将旧模块迁移到新应用程序中。让用户以不同的功能访问两个不同的web应用是不可行的

我探讨过的一些可能性是

  • 单独托管新应用程序,但将页面从旧MVC站点加载到iFrame中

  • 使用Razor Generator之类的工具预编译新项目并从旧应用程序引用它


  • 我不太确定以上是否是最好的想法。如果有任何建议能帮助我思考并朝着正确的方向前进,我将不胜感激。我也很想知道是否有更好/更合适的方法来解决这个问题。

    如何分别托管它们(即旧的mvc和silverlight web应用程序与新的mvc5是分开的,ofc都在同一个域中),并让用户选择访问哪个版本。通过这种方式,你不需要调整旧的东西,而是专注于新的东西。谢谢你的评论,Bahamut。您是否建议用户必须意识到某个模块在某个应用程序中可用,而另一个模块在某个其他应用程序中可用,并相应地进行访问?这对用户来说是否应该是透明的?对不起,我可能误解了,但我认为您将把旧项目移植到MVC5,MVC5将具有完全相同的模块和新的模块。你的意思是说在启动MVC5应用程序之前,新模块将/需要首先开发吗?正如我前面所说的,旧的MVC项目有很多设计缺陷和糟糕的编码,这使得维护和测试非常困难。鉴于时间限制,重构旧应用程序不是一个选项。这就是为什么我一直在寻找一种全新的方法来启动Silverlight迁移,但仍然有一些方法可以让用户通过旧的MVC应用程序访问新开发的模块,这样他们就不会有任何变化。我认为可以让他们知道,将有一个新的网站来取代旧的网站,以及这样做的原因即使它是一个简单的解释,比如它会更好,更符合标准,但仍然包含以前的可用模块和新模块。构建新应用程序,首先使用旧模块,然后使用新模块,然后丢弃旧应用程序。