zoukankan      html  css  js  c++  java
  • ASP.NET入门经典

    快速导航

    第一章 ASP.NET 6.0 入门

    1.1 ASP.NET vNext简介

    .NET Framework在2002年发布了第一版,ASP.NET允许更清晰地分隔代码隐藏(处理过程的代码)和标记(建立显示界面的代码)。

    在2008年,微软推出了一个新的框架支持内容创建和导航,也就是ASP.NET MVC。

    Version Release .NET Framework
    MVC 1 2009.03
    MVC 2 2010.03
    MVC 3 2011.01 .NET Framework 4.0
    MVC 4 2012.09 .NET Framework 4.0
    MVC 5 2013.10 .NET Framework 4.5

    1.1.1 HTTP协议

    请求方法:

    动词 描述
    GET 请求资源,多次得到同一个资源。
    POST 请求资源,每次创建资源新版本,多次创建多个实例。
    PUT 如果资源存在,则修改;如果不存在,则新增。
    DELETE 删除指定资源。
    OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性。
    HEAD 与GET一样,但响应中不包含消息体
    TRACE 回显服务器收到的请求,主要用于测试或诊断
    CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

    响应代码分5类:

    • 100~199:信息性
    • 200~299:成功
    • 300~399:重定向
    • 400~499:客户端错误
    • 500~599:服务器端错误

    部分常见的状态码如下所示:

    描述
    100 继续。客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。
    101 转换协议。在发送完这个响应最后的空行后,将会切换到在Upgrade 消息头中定义的那些协议。只有在切换新的协议更有好处的时候才应该采取类似措施。
    102 继续处理。由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。
    200 请求成功。处理方式:获得响应的内容,进行处理。
    201 请求完成,结果是创建了新资源。新创建资源的URI可在响应的实体中得到
    202 请求被接受,但处理尚未完成 处理方式:阻塞等待。
    204 服务器端已经实现了请求,但是没有返回新的信息。如果客户是用户,则无须为此更新自身的文档视图。处理方式:丢弃。
    300 该状态码不被HTTP/1.0的应用程序直接使用, 只是作为3XX类型回应的默认解释。存在多个可用的被请求资源。处理方式:若程序中能够处理,则进行进一步处理,如果程序中不能处理,则丢弃。
    301 请求到的资源都会分配一个永久的URL,这样就可以在将来通过该URL来访问此资源。处理方式:重定向到分配的URL。
    302 请求到的资源在一个不同的URL处临时保存。处理方式:重定向到临时的URL。
    304 请求的资源未更新。
    400 非法请求。
    401 未授权。
    403 禁止。
    404 没有找到 。
    500 服务器内部错误。服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在的源代码出现错误时出现。
    501 服务器无法识别。服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。
    502 错误网关。作为网关或者工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
    503 服务出错。由于临时的维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。

    无状态协议:每个请求都不会识别任何先前请求,每个请求-响应都是完全独立的。

    微软IIS是Windows系统自带的Web服务器,但默认情况下不安装。

    1.1.2 HTML5

    HTML5在2014年10月制订完成,之前的版本是HTML4,在1997年制订,两者之间经历了17年。

    1.1.3 ASP.NET Web Forms

    自.NET首次发布开始,ASP.NET Web Forms就是.NET通用架构的一部分。每个实际页面由两个文件组成 —— .aspx和.aspx.cs。该框架会自动生成HTML,并隐藏了很多自动生成的HTML。

    客户端和服务器之间的主要通信模型是PostBack方法,在该方法中,页面在浏览器中呈现,用户执行一些操作,使用相同的资源名,又发送回服务器。每个页面既负责内容创建,又响应内容变化。

    1.1.3.1 ViewState

    因为HTTP是无状态协议,因此需要视图状态(ViewState)来管理。视图状态是页面里的一个隐藏字段:

    <input type='hidden' name='_VIEWSTATE' value='...' />
    

    ASP.NET通过解析value值来获取页面各个项的前一个版本。

    假定某个页面有好几次PostBack,在某一次PostBack中修改了标签的值,控件初始化时会先置为默认值,然后再从ViewState中分析出是否需要更改为新值。

    改变的项越多,需要跟踪的信息就越多,ViewState的值就越大。这些信息是双向传递的,先从服务器传递给客户端,然后又送回服务器。

    默认情况下,每个控件都启动了ViewState,开发人员可以自行控制。

    1.1.3.2 事件和页面生命周期

    生命周期各阶段

    生命周期中的阶段是通过一组事件呈现的,如下图所示:

    生命周期事件

    WebForms事件分为两个级别,Page级别和Control级别。

    1.1.3.3 控件库

    控件主要分为4类:

    • HTML 服务器控件:传统HTML元素的包装器(Wrapper)。
    • Web 服务器控件:不仅仅只是普通HTML元素,还包括增强功能,如日历控件。
    • 验证控件:在客户端和服务器上提供支持,确保数据在发送前是正确的,并且到达后也是正确的。
    • 用户控件:开发人员创建的重复应用的控件。

    1.1.4 ASP.NET MVC

    WebForms主要是基于页面的方式来设计Web应用,就像下面这样:

    直接Page返回

    而MVC主要抽象出更多层,如下面这样,通过Action来决定显示哪个View,相同的Model也可以绑定在不同的View上进行显示:

    ASP.NET MVC

    WebForms在客户端显示的是页面,而MVC则不同,显示的是视图,WebForms采用文件系统方式来呈现内容,z直接转换为相应的文件位置,而MVC则基于特定事件执行的"操作类型"进行显示:

    WebForm和MVC的区别

    1.1.5 WebForms和MVC的相似性

    两者并非对立,只是方式上的不同,各有各的优缺点。随着VS2015和ASP.NET 5.0的发布,我们可以在一个Web应用里同时使用ASP.NET WebForms和ASP.NET MVC解决各种业务问题。

    1.2 安装使用Visual Studio

    详情可参见:https://www.twle.cn/l/yufei/aspnetcore/dotnet-aspnet-setup-window.html

    1.3 示例应用

    我们将开发一个应用程序RentMyWrox,同时支持WebForms和MVC。

    1.4 练习

    • HTML和HTTP的区别是什么。
    • ViewState有什么作用。
    • 请简单介绍一下MVC架构。

    扩展资料

  • 相关阅读:
    忘记IBM服务器的登录IP
    分层思想
    防火墙的发展历史
    存储相关
    HCIE_交换篇_ARP欺骗
    堡垒机与网闸
    防止ARP欺骗
    信息安全等级保护
    DPM如何创建存储池?
    Lync2013的会话
  • 原文地址:https://www.cnblogs.com/zenronphy/p/BeginASPDotNetLearningChapter1.html
Copyright © 2011-2022 走看看