我的任务是将Silverlight应用程序迁移到ASP.net MVC5。挑战在于,某些模块已经构建在MVC应用程序中,该应用程序可以独立运行,也可以从Silverlight应用程序中加载。现有的MVC应用程序已经由不同技能组的几个开发人员在过去的2 - 3年中开发出来,并且代码的形状不是很好。该代码具有非常差的编码标准依从性和较差的可重用性,没有编码单元测试,没有DI,许多内联样式等。
我想重新启动一个用于Silverlight迁移的新MVC项目,以便我可以尝试解决当前MVC应用程序中的问题。最终,我想达到一个点,Silverlight和旧的MVC应用程序可以完全丢弃,新的MVC应用程序成为唯一运行的应用程序。但是,在迁移完成之前,所有这三个都需要共存。使用Silverlight应用程序,我没有预见到问题,因为我可以调整它以从两个不同的MVC站点加载MVC页面。但是,我面临的主要挑战是找出一个策略,以便用户可以从旧应用程序访问新MVC应用程序中的新模块,直到我将旧模块迁移到新应用程序。让用户访问不同功能的两个不同的网络应用程序是不可行的。
我探索的一些可能性是,
单独托管新应用程序,但将页面加载到旧MVC站点的iframe中。
使用Razor Generator之类的东西来预编译新项目并从旧应用程序中引用它。
我不确定以上是否是最好的想法。我非常感谢任何帮助我思考并朝着正确方向前进的建议。也很想知道是否有更好/更合适的方法来解决这个问题。