代码之家  ›  专栏  ›  技术社区  ›  Jeff Ancel

ASP.NET MVC(c)中的经典ASP

  •  8
  • Jeff Ancel  · 技术社区  · 16 年前

    我有一个应用程序要(最终)转换为ASP.NET MVC。我想做一个全面的服务升级(到ASP.NET),但想使用当前的ASP东西来运行当前的功能,这样我就可以在增量升级到新框架的同时升级小块。此网站严重依赖于一个不太成熟的vb6 dll,因此我们最终也希望升级它,可能会用Web服务替换当前的功能。是否有快速修复或此任务是3个月以上的任务?另外,我相信之前已经有过这样的想法,MVC的优点是我认为有一种方法可以解决这个问题,尽管我不确定从哪里开始。转换这个应用程序的最快方法是什么(大约40小时左右),在那里我可以进行一些小的配置更改,并让它在ASP.NET MVC中工作?

    3 回复  |  直到 16 年前
        1
  •  7
  •   Quintin Robinson    16 年前

    简短的回答是…不能。经典的ASP和ASP.NET之间的区别不仅在语法上,而且在总体设计上都相当大。MVC不仅仅是一个类似于经典ASP的实现,尽管看起来可能是这样。任何转换都需要时间、思考和努力才能使其完全工作。

    不过,好消息是,您可以运行它们SXS,这样您就可以在设置为ASP.NET或ASP.NET MVC站点的站点下运行经典的ASP代码。因此,使用一些管道胶带,您可以一部分一部分地将升级后的解决方案组合在一起。

        2
  •  3
  •   Mark Brackett    16 年前

    将vb6 dll重写为COM可调用.NET程序集。然后,您可以从ASP和ASP.NET中引用它。

    希望,大部分的重提升都在VB6 DLL中。如果是这样,您就可以开始根据需要将页面迁移到ASP.NET MVC。你必须注意一页一页的交流——比如会话和cookie。cookies可以正常工作,但您需要将会话移动到MVC和ASP(如SQL Server)之间可共享的地方。不幸的是,这需要将ASP中的会话调用重写为其他内容(可能是.NET组件的COM包装)。不过,搜索和替换应该做到这一点。

    至于时间线和工作量,这需要——这与现有应用程序中的意大利面数量、DLL与ASP中的逻辑数量以及迁移的页面数量有关。

    我不认为40小时是一个合理的时间来加快.NET,MVC和重写-尽管我认为2-3个月可能。

        3
  •  2
  •   Chris Shaffer    16 年前

    我已经在一个类似的项目上工作了很长一段时间;我们有一个经典的ASP应用程序,并希望将其转移到ASP.NET(使用WebForms)。我们一次只做一件事,如果我们要添加一个新的页面,我们在.NET中做,然后在.asp文件和.aspx文件之间重定向用户。使用MVC应该没有什么不同。

    我们遇到的最大问题是安全性;站点需要登录,当然会话不会在两者之间共享。我们通过将我们关心的会话位持久化到数据库中的一个表并通过查询字符串传递一个guid来处理这个问题(我们只在登录时执行一次,然后从数据库中删除记录以降低安全风险)。