当前位置: 首页 > 知识库问答 >
问题:

简单的普通ASP.NET应用程序示例(没有Web窗体和MVC)

姜乐语
2023-03-14

对于许多开发人员来说,ASP.NET和ASP.NET Web窗体是相同的东西。一段时间以来,我一直在使用Web表单,但最近我了解到Web表单仅构建在ASP.NET之上。我变得更加好奇一个简单的普通ASP.NET应用程序是什么样子的。我学习了3种ASP.NET编程模型:Web表单、Web页面和MVC(Scott Hanselman在这里简要解释了它们的区别)。但是,这三种方法似乎都位于ASP.NET之上。

我试图找到一个使用纯ASP.NET的示例应用程序,但找不到任何内容。

我开始深入研究ASP.NET网页的源代码,发现每个网页实际上都是HTTP处理程序(每个网页都实现了IHTTPHandler接口)。这是否意味着纯ASP.NET应用程序将只是一个HTTP处理程序实现?或者我错过了什么。

在我的理解中 ASP.NET Web Forms对应于桌面世界中的Win Forms。但是在桌面世界中,您仍然可以编写不使用 Win Forms 的控制台应用程序。那么,在网络世界中,控制台应用程序等价物是什么?

任何评论或参考都将不胜感激。提前感谢。

共有2个答案

贾飞章
2023-03-14

作为一个例子,我想向你介绍ASP.NETMVC。ASP.NETMVC是ASP.NET之上的框架,但绝对不是Web Forms(事实上,它完全取代了它,在我看来-最好)。

ASP.NET 提供一般 Web 通用的服务,例如:

  • 处理请求和响应
  • 安全、身份验证、模拟等
  • 维护一个“应用程序”(例如,Global.asax的概念是一个围绕安装应用程序、关闭应用程序、处理Routes等中心事务、处理未捕获的异常等的框架)
  • 管理托管权限
  • 物理

Web Forms在ASP之上添加了一个表示层。NET的基础设施。它提供诸如表单、视图状态之类的东西。例如,将代码隐藏代码“翻译”成HTML表示形式。这只是几个例子。

作为基础结构的 ASP.NET 和作为表示层的 Web 窗体之间的分离允许以后创建 ASP.NET MVC。ASP.NET MVC根本不依赖于“表单”,不尝试模仿WinForms开发工作流程(通过使用代码隐藏的“方法”和“属性”等来掩盖原始HTML),实际上提供了更好的

你问的是纯 ASP.NET。下面是一个纯 ASP.NET 的例子,没有WebForms,没有MVC。这是一个:http://support.microsoft.com/kb/308001。这是一个基本的 HTTP 处理程序,在此示例中,每次浏览到某个以 .sync 结尾的地址时都会运行(通过“教导”ASP.NET 处理使用该扩展名的每个请求)。顺便说一下,您可以将其视为“控制台”应用程序(根据您的术语)。它从哪里获取一个URL(如果你喜欢,你可以使用curl)并返回一个文本响应,仅此而已。

元望
2023-03-14

ASP.NET是一个非常广泛的技术集合,它包括WebForms…从MVC5开始,它还包括MVC,WebApi和WebPages。这就是微软现在所说的"一个ASP.NET"计划。

这些都是 ASP.NET 的一部分,就像 ASP.NET 是 .NET 的一部分一样。这些都只是层。没有称为 asp.net 的“单独”部分不包含这些部分(即使在早期版本中,也没有不包含WebForms的 asp.net 版本)。

因此,没有“纯 asp.net”应用程序这样的东西。您当然可以编写不使用WebForms的应用程序(这意味着没有.aspx或ascx或.master文件,没有任何类型的服务器控件...基本上是 System.Web.UI 命名空间中存在的任何内容。

至多,您可以考虑System. Web命名空间中的任何内容(没有任何进一步级别的命名空间。本质上这里的内容http://msdn.microsoft.com/en-us/library/system.web.aspx)

这就是请求对象、响应对象、Cookie处理、成员资格、表单认证等...这是基本的管道工程,本身并不那么有用。你必须写一个你自己的表示框架来建立它。

还有其他框架,如FubuMVC,Nancy,MonoRail等。这些就像MVC或WebForms或WebPages一样...使用基本 ASP.NET 类来完成其工作。

 类似资料:
  • 在本章中,我们将了解如何在FuelPHP框架中创建一个简单的应用程序。 如前所述,您知道如何在Fuel中创建新项目。 我们可以举一个员工细节的例子。 让我们首先使用以下命令创建一个名为Employee的项目。 oil create employee 执行命令后,将使用以下file structure创建employee项目 - employee ├── CHANGELOG.md ├── co

  • 本文向大家介绍AngularJS教程之简单应用程序示例,包括了AngularJS教程之简单应用程序示例的使用技巧和注意事项,需要的朋友参考一下 按以下步骤来创建AngularJS应用  第1步:加载框架 作为一个纯粹的JavaScript框架,它可以使用<script>标签来添加。 第2步:使用ng-app指令定义AngularJS应用 第3步:用 ng-model指令定义的模式名称 <p>Ent

  • 我正在使用Visual Studio 2012,并且刚刚安装了“Microsoft ASP.NET和Web框架2013.1-Visual Studio”。 不出所料,它添加了创建 的选项。问题是,我看不到像使用MVC4(例如 我见过这样的答案: > 在VS 2012中创建并运行MVC 5项目 直接下载ASP.NET MVC 5 for VS 2012的链接 找到了这篇关于这件事的文章。 这显然不是

  • 大家好,请告诉我如何在普通jersey rest服务或任何没有spring的web应用程序上添加aop。我用这个链接试过了http://ganeshghag.blogspot.in/2012/10/demystifying-aop-getting-started-with.html但它没有起作用。在本例中,我添加了aop。META-INF中的xml。但它仍然没有检测到我用@Aspect注释添加的类

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 因此,我看完了道格拉斯· 克罗克福德(Douglas Crockford)关于Javascript的出色系列,在最后一集中(到目前为止),循环播放中,他阐述了

  • 问题内容: 我正在尝试学习如何从Javascript / jQuery向服务器进行简单调用。我一直在尝试学习,但找不到这些简单步骤的教程。 我想使用两个参数(DateTime和String)将消息发送到服务器,并获取DateTime。我想通过JSON做到这一点。 服务器中的代码看起来如何(仅结构)? 在服务器端我应该做些特别的事情吗?那么安全性呢? 我将如何在jQuery中实现调用? 我将如何处理

  • 本文向大家介绍简单的手工hibernate程序示例,包括了简单的手工hibernate程序示例的使用技巧和注意事项,需要的朋友参考一下 本文讲述了简单的手工hibernate程序示例。分享给大家供大家参考。具体如下: 今天学习了下hibernate,写了个小的手工程序,总结下, 首先创建数据库表: eclipse下,新建工程。 新建数据库表的映射,这里使用手工方式完成: IncrementTest

  • 主要内容:Web服务器的工作方式,搭建一个简单的 Web 服务器Go语言里面提供了一个完善的 net/http 包,通过 net/http 包我们可以很方便的搭建一个可以运行的 Web 服务器。同时使用 net/http 包能很简单地对 Web 的路由,静态文件,模版,cookie 等数据进行设置和操作。 Web服务器的工作方式 我们平时浏览网页的时候,会打开浏览器,然后输入网址后就可以显示出想要浏览的内容。这个看似简单的过程背后却隐藏了非常复杂的操作。 对于