在单个解决方案中混合使用VB ASP.NET和C#ASP.MVC项目

时间:2009-01-07 11:27:55

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

背景

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

问题

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

2 个答案:

答案 0 :(得分:2)

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

  1. Global.asax - 后面的代码设置了所有路由。
  2. Default.aspx - 后面的代码会启动MvcHttpHandler,并启动你关闭MVC路由
  3. 这些都需要位于您网站的根目录(或以某种方式设置)以正确加载并开始正确处理所有路由 - 您还应该确保您的路由足够具体而不是抓住遗留应用页面。

答案 1 :(得分:-1)

如果你没有做纯MVC,请不要打扰。 ASP.NET MVC框架的优点是它可以分离应用程序的各个层,并使您可以更好地控制每个层。我认为你正在做的是在MVC中启动新功能只是因为它是新鲜的,但你不会利用它给你的优势。我认为这将变得更加难以维持,这不是重点。可能不是这种情况,我不知道你想用这个MVC项目实现什么,如果有的话,请详细说明。