C# 呃,你应该用这两种技术做一个小型试验,看看你更喜欢哪一种。祝你好运,玩得开心

C# 呃,你应该用这两种技术做一个小型试验,看看你更喜欢哪一种。祝你好运,玩得开心,c#,asp.net-mvc,asp.net-ajax,webforms,C#,Asp.net Mvc,Asp.net Ajax,Webforms,IMHO MVC 我不得不写一份报告来证明从Web表单/Nettiers更改为MVC的合理性 我把我的论点写在博客上这个答案很贴切。你会看到人们支持这两方面的观点,但作为一个长期的webforms开发人员,他最近率先进入MVC,我可以诚实地说,我再也不想写另一个web表单应用程序了:)IMHO MVC显然更好,但你提到的所有理由都与底层框架无关,而是从开发人员交付的代码质量中获得的。可伸缩性还表现为与web前端无关,但始终依赖于底层数据服务。一个数据库超载的MVC站点和一个webforms数据库

IMHO MVC

我不得不写一份报告来证明从Web表单/Nettiers更改为MVC的合理性


我把我的论点写在博客上

这个答案很贴切。你会看到人们支持这两方面的观点,但作为一个长期的webforms开发人员,他最近率先进入MVC,我可以诚实地说,我再也不想写另一个web表单应用程序了:)IMHO MVC显然更好,但你提到的所有理由都与底层框架无关,而是从开发人员交付的代码质量中获得的。可伸缩性还表现为与web前端无关,但始终依赖于底层数据服务。一个数据库超载的MVC站点和一个webforms数据库一样慢。@vikp-“Web forms应用程序是不可扩展的,因为表示层、业务逻辑和数据访问代码(数据源)都驻留在代码背后”-不,这是完全错误的。这一切都是基于应用程序的编码方式,您也可以轻松地将所有此类代码放在控制器中。@vikp-“当web表单实际上将其从您手中夺走时,MVC鼓励关注点分离和单一责任原则。”-什么?webforms如何带走SOC和SRP?我见过很多很好的webforms代码,这些代码看起来与任何构造良好的控制器都非常相似。@vikp-我也很喜欢MVC……但正如jfar指出的那样,你的答案充满了误解……”使用依赖注入是“难以”使用/实现的-如何?将依赖项注入
页面
,非常简单,类似于设置控制器工厂,很抱歉,但对我来说,使用nuget将ninject“安装”到我的mvc项目(然后使用WebActivator将依赖项无缝注入我的控制器)比实现自定义PageHandlerFactory更直观。我有一个部分在mvc中运行,部分在webforms中运行的解决方案,最后我为webforms使用了ServiceLocator模式。我无法将基类更改为我的控件/页面,我希望保持简单。当然可以让它工作,但我发现MVC更容易设置。@Jason-有一个用于webforms的Ninject nuget软件包。看不出这与MVC有什么不同或更直观。您好@Jfar,是的,但它有页面/控件必须继承的要求。我对ASP.NET主机中的ninject和DI还不熟悉,所以可能是因为我无法完全理解它。Webforms是一项伟大的技术。作为一个Ninject noob,我发现MVC对我来说更容易安装和运行wrt DI。这对我来说很有意义,因为它的设计就考虑到了这一点。()@Jason,你的回答很好,但我需要再澄清一点,我以前在webforms中使用事件驱动生命周期,在MVC中是否足够简单,如果你能给我一些教程,这会有所帮助;干杯