我继承了一个非常糟糕的 webforms 应用程序,它是各种糟糕的——一堆无法测试的乱七八糟的数据集和 Page_Load 事件。面向对象? N层?单元测试?源头控制?对制造这个烂摊子的团队的所有学术细节。
它最初是一个 asp 经典应用程序,主要移植到 VB.NET。管理层拒绝了我“从轨道上用核武器摧毁整个站点”并重新开始的请求。
[插入有关 ASP.NET MVC 如何绝对、肯定地成为访问 .net 网站的唯一明智方式的论述]
我知道我们也许能够在遗留的网络表单和 mvc 之间进行互操作。问题是,我们能否将遗留代码保留在 VB 中并在 C# 中构建新内容?我想强制转换为 C#,这样团队就不会重蹈覆辙。
是否有我们可以在这里使用的 MVC 2 区域策略?
最佳答案
我对完全重写的想法被否决并不感到惊讶。总的来说,这是延迟和更多错误的秘诀,无论当前项目有多么错误。
据我所知,这取决于项目的类型。如果现有项目是 Web 应用程序,那么不可以。由于 CLR,您可以引用在 C# 中构建的外部库,但是,您将无法将 C# 代码直接烘焙到项目中。这一直都在进行,并且大多数情况下是可以接受的。
如果现有项目是一个网站项目,那么我不得不说是的,你可以。但是,除非绝对需要,否则您不应自愿这样做。这只是要求一个难以维护的项目,本质上需要您在 web.config 中进行大量管理。我强烈建议不要这样做。
网站引用:http://timheuer.com/blog/archive/2007/02/28/14002.aspx
我认为您应该能够将此方法与之前发布者提到的 Google 搜索中的方法放在一起。不过,这需要一些工作。
此外,编码实践几乎与语言完全无关,根据我主要使用 Web 表单和少量 MVC 的经验,两者都有它们的时间和地点。我会着眼于制定一套必须遵循的实践,并使用代码审查来强制执行它们。您编写的任何新代码都将保持干净和紧凑,同时您还可以更新旧代码以使用标准。
关于c# - C# 中的 MVC 与 VB 中的 Webforms 共存。它会发生吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3460349/