将MVC项目与现有Web窗体项目一起使用

时间:2014-11-05 17:06:30

标签: asp.net asp.net-mvc iis webforms

我希望将一些新功能推广到IIS中托管的现有Web表单网站,并且正在考虑使用MVC。我知道如果您只是在现有Web表单项目中启用MVC,则可以以相当直接的方式执行此操作。但是,我希望能够通过将旧代码放入新项目中来将旧代码与新代码分开。旧项目有点乱,而且组织得不好,所以我可以从中得到更好的结果。

但是,我不相信这是可能的(或者更准确地说,在我的情况下是个坏主意),原因如下:

  • 用户在Web表单站点上进行了身份验证,因此我必须将某种形式的传递凭据组合到新的MVC站点,反之亦然
  • 我无法分享像两者之间的会话这样的全球性事情。
  • 我必须协调会话时间,以便在设定的时间内没有引用主站点时间
  • 我需要一个完全不同的根URL(尽管我可以使用相同的域)用于基于MVC的站点。

我的主要问题是 - 我错过了一些明显的方法让它们作为一个有凝聚力的单元很好地一起玩,或者我正确地假设如果我将它转移到一个单独的Web应用程序项目那么它们本质上是两个不同的应用?如果没有,是否还有其他一些方法可以将两者结合在一起,或多或少地出现,而不是实际组合项目?

1 个答案:

答案 0 :(得分:0)

  • 如果您使用cookie来保留用户标识符,则可以共享用户身份验证。然后在两个系统中使用相同的库来解码cookie等等。
  • 分享会话对象将是一件非常困难的事情。
  • 是的,可能会发生这种情况。
  • 您可以为每个系统设置不同的根URL。 (您还可以在MVC项目中设置默认路由以充当代理并从webforms网页获取网页,但实现起来要复杂一点。)

一般来说,听起来你会花很多时间和很多头痛。