有关新项目的建议:现有ASP.NET应用程序的附加功能

时间:2012-03-16 12:05:56

标签: c# asp.net vb.net asp.net-mvc-3 iis

寻找有关我参与的即将开展的项目的建议,该项目围绕向在VB.NET中编程的IIS 6.0上运行的现有ASP.NET应用程序添加某些功能。

为了帮助未来的开发,客户希望将其他功能作为未来的证据。理想情况下,我说我想推动使用ASP.NET MVC3的解决方案,运行用C#编写的IIs 7.5和.NET 4。此解决方案将作为当前Web门户的无缝添加,可能只是一个额外的选项卡页面。

但它们将是完全独立的网络应用程序。这至关重要。

我可以预见的主要问题是首先在asp.net web应用程序和新应用程序之间共享会话细节。特别是关于维护会话状态(并且没有在其中一个应用程序上使用IIS超时)。此外,连接两个“应用程序”在我脑海中出现问题,尽管这可能比我担心的要简单得多。

如果有人有任何想法,我会就这两个问题提出建议,请说出来!

到目前为止,我已经提出了以下解决方案,无论它们是否可怕:

1)将新功能嵌入到现有代码库中(不是一个很好的选择)。这将意味着失去任何潜在的未来升级能力,也意味着不能通过利用MVC框架遵循更好的OO惯例。

2)使用iFrame链接到单独的MVC3应用程序(我目前偏爱的那个)的剃刀页面。允许使用所有新技术,但缺点是共享会话数据。通过将会话状态持久保存到数据库,通过iFrame“属性”(这可能吗?)? (慢?)甚至应用程序之间的某种Web服务交互来推/拉用户/会话数据?

非常感谢任何建议/建议!

2 个答案:

答案 0 :(得分:0)

我同意你的观点,C#和MVC是“走的路”,但不幸的是,将两个应用程序混合在一起会给你带来一大堆麻烦,尤其是不同的会话ID。您可能必须有一个共享的数据库表来将它们映射到一起,正如您可能已经想象的那样,已经有了“创可贴”。

重建C#中存在的内容有什么后果?也许你可以建议一个完整的升级。客户本身似乎颂扬了面向未来的优点,因此这将是一条出路。不,我不会推广使用“代码转换器”,但实际上不应该那么困难。

我猜,接下来要考虑的是“面向未来”。客户是否担心VB.NET将很快消失,或者它将来无法处理任何事情?老实说,我发现这是一个非常不可能的场景。

我认为我有点困惑,但基本上结合了两个应用程序,一个具有旧功能,另一个具有新功能将导致令人头疼。这可以通过将旧站点迁移到C#/ MVC,然后添加额外的功能来解决。诚然,这似乎是今天的一项重大承诺 - 但在未来的道路上,它将带​​来红利。

答案 1 :(得分:0)

如果当前站点可以升级到.NET 4.0,则没有理由不扩展现有应用程序。

没有什么可以阻止你混合使用MVC和Web表单(实际上有几篇关于如何做到这一点的文章)。没有什么可以阻止你混合VB.NET和C#(或者,据我所知,阻止你在VB.NET中做MVC)。

你必须努力工作才能让我相信使用iFrames的优点。很难。您可以说服我并排运行两个应用程序的优点 - 功能按文件夹分割 - 但说实话,我会更高兴升级现有站点然后从那里构建。