.ashx

.ashx主要用来生成动态图片和动态文本,.aspx要做html控件树解析,而.ashx则不需要做控件解析和页面处理,多用于ajax后台。
context.Response.ContentType = "text/plain"; //将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理。
context.Response.Write("Hello World");
context.Response.ContentType = "image/gif";
context.Response.BinaryWrite(); //可以输出gif 图片,多用于图片验证码
ajax 前台申请代码:
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 xmlhttp.open("GET","xx.ashx",true);
ashx必须包含IsReusable属性(代表是否可复用,通常为true)
每个客户端发来的请求在服务器端都是一个线程, 如果用同一个实例处理多个请求的话就会涉及到线程安全方面的问题。所以当我们设置IsReusable属性为true的时候,负面影响是要注意线程安全方面的东西,正面的是省去了重新创建实例的过程,省去了gc回收无用对象的过程。
如果要在ashx文件用使用Session必须实现IRequiresSessionState接口。

猜你喜欢

转载自blog.csdn.net/qiuhaifeng_csu/article/details/38679579
今日推荐