asp.net 的那点事(2、浏览器和一般处理程序)
从今天开始我们接着来学习:asp.net中一般处理程序和浏览器的通信。
一、第一个图解:
从图解中我们看出,整个过程是:“请求---处理---响应”。这个也就是经常面试的时候,面试官问道“asp.net的页面生命周期”。当然这个只是很简单的回答,那么服务器如何响应的呢?
二、一般处理程序图解:
这个是我们的一般处理程序的代码图解。这里我要强调下:“context.Response.ContentType = "text/html";”。这句很重要!这个就是告诉服务器我们要输出的报文是什么类型的。
image/jpeg----表示输出的是图片
text/plain--------表示输出文本
三、 我们看了上面的代码,我们发现其实当我们请求一个动态页面的时候就是在请求一个cs类。那么是不是只要是cs类就能被访问呢?请看下面图解
从上面的图解我们可以看到,当我们去求情一个cs类的时候,服务器是不让我们去看的。(如果可以的话那么我们的源代码都会被下载走的哦。。。。。。。。。)
四、我们可以对着看看一般处理程序的类和class1类的区别在哪里。
问题出来了,我们写的类没有继承“IHttpHandler”接口。那么我就继承该接口,并且显示的实现这些接口中方法。
五、实现接口后图解:
从上面的图解我们可以很清晰看出来。一个类只有实现了IHttpHandler接口和方法,添加指令集和修改了文件扩展名,那么他就可以被访问了。
温馨提示:编程这个东西很怪,别人讲的再好再多在详细。也不如你自己跟着来一遍更加印象深刻的哦。。。
asp.net 的那点事(2、浏览器和一般处理程序)的更多相关文章
- ASP.NET那点不为人知的事(一)
http://www.cnblogs.com/OceanEyes/archive/2012/08/13/aspnetEssential-1.html#_label0 我们上网时,在浏览器地址输入网址: ...
- Asp.net MVC验证哪些事(2)-- 验证规则总结以及使用
上篇文章Asp.net MVC验证那些事(1)-- 介绍和验证规则使用中,介绍了Asp.net MVC中的验证功能以及如何使用.这里将对MVC中内置的验证规则进行总结. 一,查找所有验证规则 上篇文章 ...
- Asp.net MVC验证那些事(4)-- 自定义验证特性
在项目的实际使用中,MVC默认提供的Validation Attribute往往不够用,难以应付现实中复杂多变的验证需求.比如, 在注册用户的过程中,往往需要用户勾选”免责声明”,这个checkbox ...
- ASP.NET实现推送文件到浏览器的方法
这篇文章主要介绍了ASP.NET实现推送文件到浏览器的方法,可实现将文件推送到浏览器供用户浏览或下载的功能,需要的朋友可以参考下 本文实例讲述了ASP.NET实现推送文件到浏览器的方法.分享给大家供大 ...
- Asp.net MVC验证那些事(1)-- 介绍和验证规则使用----[转]--[并修改了部分内容]
Asp.net MVC验证那些事(1)-- 介绍和验证规则使用 -----原文地址链接 数据的有效性验证,是程序开发中必不可少的环节.这篇文章,我们将用一个实例来说明如何在MVC中使用Validati ...
- asp.net 的那点事(1、当用户在浏览器地址栏输入了网址后,发生了什么?)
从今天开始我将抽出空闲时间复习asp.net相关知识.此篇博文只是为了记录学习当中的知识点和感觉到比较重要的知识点. 本人才疏学浅,如有遗漏或者错误希望广大博友尽情拍砖.我会在后续中进行更正. 这个问 ...
- Asp.net MVC验证哪些事(3)-- Remote验证及其改进(附源码)
表单中的输入项,有些是固定的,不变的验证规则,比如字符长度,必填等.但有些是动态的,比如注册用户名是否存在这样的检查,这个需要访问服务器后台才能解决.这篇文章将会介绍MVC中如何使用[RemoteAt ...
- Asp.net 数据库依赖那些事
声明:本文为作者原创文章,转载请注明出处 https://www.cnblogs.com/MaMaNongNong/p/8904022.html 问题背景: 最近做一个非常简单的功能,就是使用ajax ...
- 在ASP.NET中如何判断用户IE浏览器的版本
f ( Request.Browser.MajorVersion == ) { // to do } ................................................. ...
随机推荐
- 在centos服务器上配置gitlab钩子引发的一系列问题
为了给公司的服务器上搭建gitlab环境并且配置钩子(实现在本地git push之后服务器自动git pull),整了好久,最后终于把问题解决了,下面是记录安装gitlab之后引发的一系列问题: 首先 ...
- Web开发-各状态码的意思
常见的HTTP 1.1状态码以及它们对应的状态信息和含义 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分.(HTTP 1.1新) 101 Switching Protoc ...
- 转:Gulp的目标是取代Grunt
原文来自于:http://www.infoq.com/cn/news/2014/02/gulp Fractal公司积极参与了数个流行Node.js模块的开发,它最近发布了一个新的构建系统gulp,希望 ...
- Android的理解
从组件的角度来考虑 Activity------------------Service-----------------Broadcast Receiver---------------------- ...
- Javascript url 小逻辑
情况1 : var xhr = new XMLHttpRequest(); xhr.open("GET", "/api/products", true); xh ...
- C#控制生成图片的大小
private void button1_Click(object sender, EventArgs e) { using (Bitmap bitmap = new Bitmap("d:\ ...
- 进化计算简介和遗传算法的实现--AForge.NET框架的使用(六)
原文:进化计算简介和遗传算法的实现--AForge.NET框架的使用(六) 开学了,各种忙起来了… 上一篇介绍了AForge.NET在人工神经网络上的一点点使用,但是老觉不过瘾.matlab用着实在不 ...
- VS2010发布、打包安装程序
1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1.“应 ...
- 黑马程序员_JavaIO流(三)
字节流File读写操作 字符流: FileReader FileWriter BufferedReader BufferedWrtier 字节流: FileInputStream FileOutput ...
- libvirtsAPI
mongodb远程服务器连接 mongo -uroot -p321 master.puppet.org:27017/admin