什么会被认为是直接的asp.net? (不是mvc而不是webforms)

时间:2010-03-01 22:47:48

标签: asp.net asp.net-mvc webforms

我知道ASP.NET webforms和ASP.NET MVC之间的区别,我看过很多视频,说明它们都运行在ASP.NET之上(我已经使用过它们)。但是,我的问题是,如果没有webforms或mvc.net,如何在ASP.NET之上开发?这是否相当于只有.ASHX文件的项目?

5 个答案:

答案 0 :(得分:8)

ASP.NET 1.0和1.1最初由类库和模板标记(Web Forms)组成。这是ASP 3.0的自然扩展,其中HTML和VB代码混合在.ASP文件中。

类库是我认为的“直接”ASP.NET框架。恕我直言,System.Web命名空间代表了将“ASP”整合到.NET框架中的努力。您可以获得HttpContext对象及其静态属性等顶级对象,以及一些可以解除ASP.NET处理管道,IHttpModule和IHttpHandler派生类的对象。

从表面上看,您可以创建自己的标记语言并编写HttpModule(以及其他组件)来呈现响应。这可能就是为什么System.Web命名空间已经发展到包含Web服务,AJAX / JSON,MVC以及.NET 3.5SP1 ASP.NET dynamic data的代码的原因。

我的2美分。

答案 1 :(得分:3)

Web服务在哪里适用?服务不是真正的形式,也不是MVC,所以这也可以列在你可以用ASP.Net做的其他事情上。

答案 2 :(得分:3)

您可以使用IHttpHandler拦截来自IIS的原始Web请求,并回复任何响应,无论是webform,图像,文件还是其他任何内容。我想这可以被认为是没有WebForm或MVC的基本ASP.NET。 Problem using IHttpHandler

答案 3 :(得分:3)

新答案:我实际上是花时间查找Microsoft's official answer

  

ASP.NET是一个统一的Web开发   包含服务的模型   你需要建立   企业级Web应用程序   最少的编码。 ASP.NET是一部分   .NET Framework,以及编码时   您可以访问的ASP.NET应用程序   到.NET Framework中的类。您   可以在任何代码中编写应用程序   语言与常见的兼容   语言运行时(CLR),包括   Microsoft Visual Basic,C#,JScript   .NET和J#。这些语言启用   你开发ASP.NET应用程序   从共同语言中受益   运行时,类型安全,继承和   等等。

     

ASP.NET包括:

     

页面和控件框架

     

ASP.NET编译器

     

安全基础设施

     

国家管理设施

     

应用程序配置

     

健康监测和绩效   特征

     

调试支持

     

XML Web服务框架

     

可扩展的托管环境和   应用程序生命周期管理

     

可扩展的设计师环境

答案 4 :(得分:1)

Asp.Net包含System.Web命名空间。 Webforms是System.Web.UI命名空间。其中一个关键区别是System.Web.UI中的类通常不会基于html发布标准,SEO可能是一场噩梦。

Asp.Net自己可以提供类似于许多其他Web框架的基本模板系统,开发人员可以在不使用任何WebForms控件的情况下制作完整的网站。这是一个非典型的情况,但是因为在Asp.Net Ajax和Asp.Net MVC之前的典型Asp.Net开发过程是使用工具箱中的控件。