我知道ASP.NET webforms和ASP.NET MVC之间的区别,我看过很多视频,说明它们都运行在ASP.NET之上(我已经使用过它们)。但是,我的问题是,如果没有webforms或mvc.net,如何在ASP.NET之上开发?这是否相当于只有.ASHX文件的项目?
答案 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开发过程是使用工具箱中的控件。