繁体   English   中英

ASP.NET MVC的ASP Classic功能

[英]ASP Classic functionality with ASP.NET MVC

我有一个用经典ASP VB编写的当前站点,我想升级它,我一直在ASP.NET MVC 3中大量工作。

我想找到一个解决方案来获得一个适用于CLASSIC和ASP.NET的系统。

有没有办法在MVC中开发新系统并导入和导出CLASSIC并返回到MVC工作流程?

如果是这样,最好的方法是什么?

你最大的问题是国家。 在ASP中,你可能会在Session对象中抛出大量垃圾。 ASP.NET(MVC或Web表单)和ASP不共享相同的会话(状态),因此您最终必须将状态存储在某处以使其继续工作。

只要您可以获得存储ASP和ASP.NET MVC都可以查询的状态的位置,您就可以开始逐步迁移页面。 如果您无法弄清楚,那么在ASP.NET MVC中完全重建站点后,您将不得不废弃ASP。

注意:我一直在领导迁移(ASP >> ASP.NET(两种口味)和VB >> VB.NET)。 除非您必须使用混合模式,否则最好重建然后迁移站点而不是依赖混合站点。 可能发生的最糟糕的事情是有人在会话或应用程序中存储了一些愚蠢的东西,你没有想到,而你现在处在一个你没有保留重要内容的地方。 并且你可能在用户抱怨他们做了一些没有迁移的事务后找到它,现在你不再有任何关于它的信息了。

注2:有时客户想要零碎地迁移并拒绝听你说这是个坏主意。 此时,您的选择是转移到另一个客户(或工作)或执行此操作。 如果选择“做它”,请确保你的屁股被覆盖,因为这是一个雷区。

根据我的经验,答案是否定的。

ASP和ASP.NET之间的问题是它们的Core完全不同。 例如,无法共享其会话值,因为它们的工作方式完全不同。

我能看到的唯一解决方法是将两种技术之间的共享信息放在数据库中供另一种技术使用,但这很脏,因为这些信息只是暂时的。

如果您不需要除持久性信息之外的其他两者之间共享的标识或任何其他信息,则可以在ASP.NET MVC解决方案的任何位置包含ASP文件。 Visual Studio将尽可能努力地为您提供IntelliSense(但它不能在ASP和ASP.NET模块之间工作),IIS应该能够在ASP文件中执行VB代码。 当您从技术切换到另一个技术时,您在地址中包含特定ID。

如果不是你的情况,那么最好的方法是将项目保留在ASP项目中,如果某些标准得到很好的实现或者将项目完全切换到ASP.NET项目,这项项目可能会很好地工作多年并从头开始。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM