内置对象
Request对象
context.Request.UrlReferrer的使用
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "image/JPEG";
string fullpath = HttpContext.Current.Server.MapPath("1.jpg");
using (Bitmap bitmap = new Bitmap(fullpath))
{
using (Graphics g = Graphics.FromImage(bitmap))
{
if (context.Request.UrlReferrer == null)
{
g.Clear(Color.White);
g.DrawString("禁止浏览",new Font("宋体",30),Brushes.Red,0,0);
}
else if (context.Request.UrlReferrer.Host != "localhost")
{
g.DrawString("内部使用", new Font("宋体", 30), Brushes.Red, 0, 0);
}
g.DrawString(context.Request.UserHostAddress, new Font("宋体", 30), Brushes.Red, 0, 0);
}
bitmap.Save(context.Response.OutputStream,ImageFormat.Jpeg);
}
}
Response对象
响应缓存输出
Response.Buffer是否启用缓存
Response.Flush将缓存中数据立即发送给浏览器
Response.Clear清空缓存区
Server对象
Server对象是context的一个属性 Server.HtmlDecode() Server.HtmlEncode(),Server.UrlEncode()处理中文 Server.Transfer服务器内部接管,发生一次请求,浏览器地址不会发生变化,只能是内部虚拟路径请求,不能是外部网站 Response.Redirect是可以的
HttpHandler
//保存图片
context.Response.ContentType = "image/JPEG";
string filename = HttpUtility.UrlEncode("哈哈.jpg");
context.Response.AddHeader("Content-Disposition","attachment;filename="+filename);
context.Response.WriteFile("1.jpg");
Page对象
AppRelativeVirtualPath属性,获取页面相当于应用根路径的路径

浙公网安备 33010602011771号