第二章
4.1  Application对象 在.NET开发中具有举足轻重的作用
Application对象的作用和运行机制
存储所有用户的信息
将一个网站创建一个应用程序
一 . 创建一个Global文件  网站->添加新项->全局应用程序类
 全局应用程序触发全局页面 (也就是说全局应用程序适用于所有当前项目中页面)
 Application["dk_users"] 显示人数 其看做成变量 运行时信息
 在应用程序类中
Application_Start //程序启动时运行代码 不支持Response.Write()写 Read(读)
  Application.Lock(); //锁定应用程序 为了与之同步
    Application.UnLock(); //解锁
 Application_Error()方法是标准出错

应用程序一个项目只能创建一个
二. Response.概念和作用
获取客户端资料和信息 以及页面参数
对线广泛   了解页面缓存技术
 Response.BufferOutput  =true 开启缓存 设置缓存完成后输出
 Response.Write("使用缓存机制!");    //该代码被Clear清空了
 Response.Clear(); //清除缓冲区内容
 Response.BufferOutput = false;//关闭缓存
 Response.Write("不使用缓存机制");
 Response.Clear(); //没有开始缓存机制代码无效
服务器日志
 Response.AppendToLog("这是一个服务器日志文件信息!");
 设置日志路径
  //缓存发送
        Response.Write("第一条信息<br/>");
        Response.Flush();//所有缓存发送至客户端
        Response.Write("第二条信息<br/>");
        Response.End();//触发应用程序事件Application_EndRequest 程序停止执行
        Response.Write("第三条信息<br/>");
      //页面重定向
        Response.Status = "302页面重新定向";
        Response.AppendHeader("Location","http://www.baidu.com");//HTTP输出流
//设置图片
// Response.ContentType = "image/JPEG"; //获取或设置输出流类型
        //Response.WriteFile("QQ图片20160523152924.jpg");//设置输出
****//页面传递参数****
<a href="Application.aspx?var1=130&amp;var2=text&amp;var3=传递参数">页面传递参数</a></div>
Application.aspx?var1=130&amp; 此赋值后 选择所传参数的页面在cs文件中等价于:Request.QueryString ["var1"]
Request.QueryString ["var1"] 此变量就等于130
 //输出客户端常用属性信息
        foreach(var p in Request .UserLanguages ){
            Response.Write("UserLanguages属性:"+p.ToString () +"<br/>");
        }
        Response.Write("UserHostrName属性:" + Request.UserHostName.ToString() + "<br/>");//客户端Ip地址信息
        Response.Write("UserHostArrress属性:" + Request.UserHostAddress.ToString() + "<br/>");
        Response.Write("Url属性" + Request.Url.ToString() + "<br/>");//网页信息
        Response.Write("PhysicalPath属性:" + Request.PhysicalPath.ToString() + "<br/>");//客户端路径文件名称信息
        Response.Write("PhysicalApplicationPath属性:" + Request.PhysicalApplicationPath.ToString() + "<br/>");//客户端路径信息
    }
4.3 Session对线 回发
Session 是指用户从打开浏览器访问服务器到关闭浏览器之间一个会话状态
Session可以存储用户访问服务器的一些传递资料信息。
Session全局变量
Session变量过期
Session添加删除操作

4.4 HttpCookie Cookie  获取用户和存储上一次的信息

而且永久存储 只要不重新编译连接。

注意: 只适合当前操作 , 编译连接时会过期
        
 protected void Page_Load(object sender, EventArgs e)
        {
            HttpCookie N_Cookie = new HttpCookie("C_name");//创建一个Cookie键
            N_Cookie.Value = "第一数据";
            Response.Cookies.Add(N_Cookie );//添加Cookie  
            Response.Write(Response .Cookies .Get("C_name").Value.ToString ()+"<br/>");
            //Response.Cookies.Get("C_name")//获取 Set(N_Coolie)设置
            N_Cookie.Value = "变成第二个数据";//重新设置
            Response.Cookies.Set(N_Cookie );
            Response.Write(Response.Cookies.Get("C_name").Value .ToString ()+"<br/>");
            Response.Cookies.Remove("C_name"); //删除
        }
    }
}   //Cookie对象只是设置键值以及设置键值的值  获取及其更新Cookie集合是Cookies

4.5 Server对象的实际运用

Server是服务器应用请求的助手
    防止脚本入侵

用对齐编码转换
    
       //Server.UrlDecode 解码  Server.Encode编码

4.6综合练习

本章节讲解的Cookie会话是通过浏览器的Cookie存储来实现记录用户信息的
    如果用户的浏览器不支持Cookie则无法实现
    这时需要IIS服务器特别的设置

.NET Web开发总结(二)的更多相关文章

  1. SpringBoot之WEB开发-专题二

    SpringBoot之WEB开发-专题二 三.Web开发 3.1.静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置 Spring Boot默认提供静态资 ...

  2. Solon Web 开发,二、开发知识准备

    Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...

  3. 移动web开发(二)——viewport

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scal ...

  4. 第十五章:Python の Web开发基础 (二) JavaScript与DOM

    本課主題 JavaScript 介绍 DOM 介绍 JavaScript 介绍 JavaScript 是一门编程语言,它可以让网页动起来的,JavaScript 的变量有两种,一个是局部变量:一个是全 ...

  5. 【温故知新】Java web 开发(二)Servlet 和 简单JSP

    系列一介绍了新建一个 web 项目的基本步骤,系列二就准备介绍下基本的 jsp 和  servlet 使用. (关于jsp的编译指令.动作指令.内置对象不在本文讨论范围之内) 1. 首先,在 pom. ...

  6. java web开发入门二(struts)基于eclispe

    JavaBean JavaBean,  咖啡豆. JavaBean是一种开发规范,可以说是一种技术. JavaBean就是一个普通的java类.只有符合以下规定才能称之为javabean: 1)必须提 ...

  7. HTML5移动Web开发(二)——配置移动开发环境以及简单示例

    一.准备 1.配置本地网络服务.对于Windows.Mac和Linux,最容易的方法是使用免费的XAMPP软件:http://www.apachefriends.org/en/index.html X ...

  8. Spring Boot 使用IntelliJ IDEA创建一个web开发实例(二)

    1. 创建一个Controller类 package com.example.demo; import org.springframework.web.bind.annotation.RequestM ...

  9. 移动Web开发(二)

    这些天一直在忙iOS,Android和.Net方面的知识都有些忘记了,汗.不过还是先重温一下HTML吧,手动滑稽. 说实话前面的基础部分基本上大家都会,就当看个热闹吧. 1.HTML的核心要素--标签 ...

随机推荐

  1. mysql中游标的使用

    BEGIN #遍历占领野地表还原军队 # and cityid=cityid) ,) ;#occupyWild表的TroopsId ,) ;#occupyWild表的CityId ,) ;#occup ...

  2. vs 2012 智能提示后为何不能 直接按enter键把提示的内容输入

    这个是VS的"建议完成模式"和"标准模式",两者间切换按快捷键:Ctrl+Alt+空格键

  3. 91、sendToTarget与sendMessage

    Message msg = handler.obtainMessage();               msg.arg1 = i;               msg.sendToTarget(); ...

  4. 编写webpy程序,iep 报错,ulipad 运行正确

    在web.py编程中,使用模板文件时,iep下会报错.ulipad不会报错. 用python 运行不报错. 在寻找答案.初步估计是iep的python运行环境有问题. 如图:

  5. C++学习28 重载>>和<<(输入输出运算符)

    在C++中,系统已经对左移运算符“<<”和右移运算符“>>”分别进行了重载,使其能够用于输入输出,但是输入输出的处理对象只能是系统内建的数据类型.系统重载这两个运算符是以系统类 ...

  6. crm 4 隐藏自定义 toolbar

    //隐藏指定title按钮 function hideISVButton(buttonTitle) { var comps = document.getElementsByTagName('li'); ...

  7. Delphi Socket 阻塞线程下为什么不触发OnRead和OnWrite事件

    //**********************************************************************************//说明: 阻塞线程下为什么不触 ...

  8. POJ 3270 【组合数学】

    题意: 给长度为N的学列,然后让你通过置换来使其递增.原序列没有相同的数字. 1 ≤ N ≤ 10,000 ai<=100000 思路: 先找到循环,然后根据贪心只有两种比较好的情况,让循环里边 ...

  9. [ZOJ 3662] Math Magic (动态规划+状态压缩)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3662 之前写过这道题,结果被康神吐槽说代码写的挫. 的确,那时候 ...

  10. 蓝桥杯---数独(模拟 || dfs)

    [编程题](满分33分) "数独"是当下炙手可热的智力游戏.一般认为它的起源是"拉丁方块",是大数 学家欧拉于1783年发明的. 如图[1.jpg]所示:6x6 ...