asp.net一般处理程序(5)- (c#)

  

,,,,,,,,,,, <强> :其实它本质上就是一个类,但是它需要注意几个方面: asp.net一般处理程序(5)- (c#)

,,,,(1)需要实现一个IHttpHandler的接口,这是因为它在asp.net的运行原理中,在创建被请求的页面类时,需要把它转成接口,然后再实现接口里面* * *的过程装备()方法;

,,,,(2)里面还需要实现IsReusable(),的方法,它是表示在服务器上是否可以重用(设置为true 即为可重用,一般默认设置为false)

,

,,,,,,,,,同时我还简单利用一般处理程序,写了一个简单的计算器,希望和大家一同深入体会一下一般处理程序的运用。

,,,, <强>

 asp.net一般处理程序(5)- (c#)

,,,,,,, <强>

,,,,,,

& lt; !DOCTYPE html>   & lt; html xmlns=" http://www.w3.org/1999/xhtml "比;   & lt; head>   & lt;元http-equiv=? type”内容=" text/html;utf - 8字符集="/比;   & lt; title> & lt;/title>   & lt;/head>   & lt; body>   action=" c02index & lt;形式。ashx”方法=" post "比;   & lt;输入类型=耙亍眓ame=" hidIsPostBack " value=" https://www.yisu.com/zixun/1 "/比;   & lt;输入类型="文本" name=" txtNum1 " value=" https://www.yisu.com/zixun/{num1} "/祝辞& lt;选择id=癝elect1”名称=把∪ 北?   & lt;选项选择="选择"祝辞+ & lt;/option>   & lt;选项选择="选择"祝辞& lt;/option>   & lt;选项选择="选择"祝辞* & lt;/option>   & lt;选项选择="选择"祝辞/& lt;/option>   & lt;/select>   & lt;输入类型="文本" name=" txtNum2 " value=" https://www.yisu.com/zixun/{num2} "/祝辞=& lt;输入类型="文本" name=" txtSum " value=" https://www.yisu.com/zixun/{res} "/祝辞& lt; br/比;   & lt;输入类型="提交" value=" https://www.yisu.com/zixun/计算“/比;   & lt;/form>   & lt;/body>   & lt;/html>

,,,, <强>

<强>

使用系统;
  使用System.Collections.Generic;
  使用来;
  使用包含;
  名称空间Calulate
  {///& lt; summary>///c02index的摘要说明///& lt;/summary>
  公开课c02index: IHttpHandler
  {
  公共空间过程* * *装备(HttpContext上下文)
  {
  context.Response。ContentType=" text/html ";//1。通过虚拟路径获取绝对路径
  字符串PhyPath=context.Server.MapPath (“c02index.html”);//2。通过绝对路径获取文件值
  字符串strHtml=System.IO.File.ReadAllText (PhyPath);//3 .获取浏览器的发布方式发过来的参数
  字符串strNum1=context.Request.Form (“txtNum1”);
  字符串strNum2=context.Request.Form (“txtNum2”);//4 .定义返回的变量
  int x=0, y=0, z=0;//5 .判断接收的参数
  如果(! string.IsNullOrEmpty (context.Request.Form [" hidIsPostBack "]))
  {
  如果(! string.IsNullOrEmpty (strNum1),, ! string.IsNullOrEmpty (strNum2))
  {
  如果(int)。TryParse (strNum1, x),,int.TryParse (strNum2, y))
  {
  如果(context.Request。形式(“选取”)==" + ")
  {
  z=x + y;
  }
  else if (context.Request。形式(“选取”)==?”)
  {
  z=x - y;
  }
  else if (context.Request。形式(“选取”)==?”)
  {
  z=x * y;
  }
  else if (context.Request。形式(“选取”)=="/")
  {
  如果(y !=0)
  {
  z=x/y;
  }
  其他的
  {
  抛出新的异常(“除数不能为零”);
  }
  }
  }
  }//6。替代字符串并接收替代后的返回值
  strHtml=strHtml。替换(“{num1}”, x.ToString ())。替换(“{num2}”, y.ToString ())。替换(“{res}”, z.ToString ());//7 .把字符串返回给浏览器
  context.Response.Write (strHtml);
  }
  }
  公共bool IsReusable
  {
  得到
  {
  返回错误;
  }
  }
  }
  }

,,,,,,,

,

 asp.net一般处理程序(5)- (c#)  asp.net一般处理程序(5)- (c#)  asp.net一般处理程序(5)- (c#)  asp.net一般处理程序(5)- (c#)  asp.net一般处理程序(5)- (c#)

asp.net一般处理程序(5)- (c#)