一般处理程序自定义方法里使用context.Response.Write()
在一般处理程序里,想添加一个方法,输出一个话Hi Handler。可是发现在这个方法里没办法用context.Respose.Write这句。例如如下代码:
-
namespace 图片 处 理
-
{
-
public class HandlerTest : IHttpHandler
-
{
-
public void ProcessRequest( HttpContext context )
-
{
-
context.Response.ContentType = "text/plain";
-
SayHello();
-
}
-
-
-
public void SayHello()
-
{
-
context.Response.Write( "Hi Handler" );
-
}
-
-
-
public bool IsReusable
-
{
-
get
-
{
-
return(false);
-
}
-
}
-
}
-
}
我们可以看到在方法SayHello里是没办法用context.Response.Write("Hi Handler");因为context只能在ProcessRequest里用。那这个时候怎么办?
我们在ProcessRequest方法外面定义在一个HttpContext的变量,例如:private HttpContext context;再在ProcessRequest给这个变量赋上值this.Context=context
例如代码如下:
-
public class HandlerTest : IHttpHandler
-
{
-
private HttpContext context;
-
public void ProcessRequest( HttpContext context )
-
{
-
context.Response.ContentType = "text/plain";
-
this.context = context;
-
SayHello();
-
}
-
-
-
public void SayHello()
-
{
-
context.Response.Write( "Hi Handler" );
-
}
-
-
-
public bool IsReusable
-
{
-
get
-
{
-
return(false);
-
}
-
}
-
}
这时候SayHello方法里就可以使用context.Response.Write("Hi Handler");了,是不是很简单呢?对于高手的你,当然不屑一看。
来自 <http://www.cnblogs.com/cxeye/archive/2012/07/22/2603553.html>