【问题标题】:Mixing VB ASP.NET and C# ASP.MVC projects in a single solution在一个解决方案中混合 VB ASP.NET 和 C# ASP.MVC 项目
【发布时间】:2009-01-07 11:27:55
【问题描述】:

背景

我们是一个 TDD 团队,他们继承了一个遗留的 ASP.NET 应用程序,并试图通过分离表示、业务和数据访问问题来控制它,从而提高可测试性。我们已经为新添加的页面使用 MVP 模式取得了一些成功,但正在研究 MS MVC 框架,看看它是否比 MVP 给我们带来任何好处。重要的是,我们希望新的 MVC 工作在 C# 中,而旧应用程序在 VB 中。我们查看了this 博客条目,它主要实现了我们想要的,但不允许我们使用 C# 进行编码。此外,还有许多关于将单个 Web 应用程序划分为多个项目的博客文章看起来很有用 (here)

问题

能否创建一个工作原型,该原型由一个由两个项目(默认的 VB ASP.NET 项目和默认的 C# MVC 项目)组成的 Web 应用程序组成,并让它们很好地协同工作。我无法成功地做到这一点(我认为是由于路由问题)。如果可以的话,我想看看你的 web.config 和 global.asax 文件。

【问题讨论】:

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


    【解决方案1】:

    默认的 MVC 应用程序在项目的根目录中包含两个重要的代码,它们也需要存在于您的应用程序的根目录中:

    1. Global.asax - 后面的代码设置所有路由。
    2. Default.aspx - 后面的代码会启动 MvcHttpHandler,并让您开始沿着 MVC 路线前进

    这两个都需要位于您网站的根目录中(或在某处以类似的方式设置)才能正确加载并开始正确处理所有路由 - 您还应该确保您的路由足够具体而不是捕获旧版应用程序页面。

    【讨论】:

      【解决方案2】:

      如果您不使用纯 MVC,请不要打扰。 ASP.NET MVC 框架的优势在于它分离了应用程序的各个层,并为您提供了对每一层的更多控制。我认为你正在做的是在 MVC 中推出新功能,只是因为它是新鲜的,但你不会利用它给你的优势。我认为它会变得更加难以维护,这不是重点。可能不是这样,我不知道你想用这个 MVC 项目实现什么,如果是,请详细说明。

      【讨论】:

      • 感谢 cmets - 我已经重写了问题并扩展了背景信息以使事情更清楚
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      相关资源
      最近更新 更多