c# - C# 中的 MVC 与 VB 中的 Webforms 共存。它会发生吗?

标签 c# vb.net asp.net-mvc-2 webforms

我继承了一个非常糟糕的 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/

相关文章:

entity-framework - Entity Framework 的 ASP .NET 成员资格

c# - 服务器端 Javascript (aspx.cs) 属性。添加代码以更改标签的文本

c# - 如何过滤数据 View

c# - 来自 .axml 布局的 Android 控件的 Xamarin.Forms 自定义渲染器

C# foreach 内的线程安全闭包

c# - 如何在禁用 TLS1/SSL3 的情况下连接到 Azure 数据库

asp.net - HtmlGenericControl ("br") 渲染两次

ajax - 无法让 jquery $ajax 调用 .NET MVC 2 Controller 方法

vb.net - 保存 VSTO 工作簿的非 VSTO 副本

用于使用 ASP MVC 2 数据注释验证电子邮件列表的 javascript 正则表达式