A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 谢玲 中级黑马   /  2012-11-26 09:30  /  8556 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

获得系统当前时间,并在浏览器显示
  public viod ProcessRequest(HttpContext context){
  context.Response.ContentType=”text/plain”;
  DateTime serverTime=DateTime.Now;
  context.Response.Write(“Hello,Word!”+serveTime.ToString);
}
问题:服务端怎样接收到请求,请求报文是谁分析的? context.Response.Write输出时,响应报文是怎么生成的?

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

4 个回复

倒序浏览
追问: context.Response.ContentType=”text/plain”;这句话怎么解释?
回复 使用道具 举报
谢玲 发表于 2012-11-26 10:00
追问: context.Response.ContentType=”text/plain”;这句话怎么解释?

1、context.Response.ContentType=”text/plain”;这句话是指服务器告诉浏览器,它返回的数据的类型是什么。
2、text/plain:返回给浏览器的是文本类型,那浏览器就会直接输出文本
   text/html:返回给浏览器的是HTML,那么浏览器就会解析HTML
     image/JPEG:返回给浏览器的是图片信息,那么浏览器就会显示图片

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
context.Response.ContentType=”text/plain”;  相应一个文本类型的结果。
如果这里的类型是jpeg的话。就是结果可以响应一个图片回去。一般用这种一般处理程序做验证码处理。响应类型这里就应该换成jpeg的。
你可以理解为。你点超链接·然后导向这里,就是在向一般处理程序发出请求。然后一般处理程序可以接受你请求的参数。例如
index.ashx?action=date
你在超链接的地方后面加上?然后后面写上需要用的参数。
然后你在一般处理程序获取。string str=context.Request["action"]就是action后面写的值。
if(str==date)  如果你给我的参数是时间。那我就返回一个现在的时间给你
然后用context.Response(这里我就不写了。C#写的当前时间).返回回去当前时间。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
请求报文的分析和响应报文的生成,这就要涉及到ASP.NET服务器内部实现机制了,一两句话也说不清,我提供一些资料给你自己研究研究吧

1、网上资料
   ASP.NET 请求处理流程:http://blog.csdn.net/dz45693/article/details/6376758
   ASP.NET管道:http://blog.csdn.net/dz45693/article/details/6161997
   ASP.NET管线与应用程序生命周期:http://blog.csdn.net/dz45693/article/details/4959734
   ASP.NET请求处理值管道处理:http://www.cnblogs.com/majiang/archive/2012/11/06/2757387.html  【注:这片文章是对asp.net服务器的源码分析】

2、下面的附件是其在看传智的.net 2011版视频的时候,跟着老师画的图,也是对asp.net服务器内部机制的讲解,但比较形象。还有我自己看服务器源代码时的一些记录
文件.rar (211.58 KB, 下载次数: 404)

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马