一般处理程序:其实它本质上就是一个类,但是它需要注意几个方面:
创新互联是一家专业提供大丰企业网站建设,专注与做网站、成都网站建设、H5网站设计、小程序制作等业务。10年已为大丰众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。(1)需要实现一个IHttpHandler的接口,这是因为它在asp.net的运行原理中,在创建被请求的页面类时,需要把它转成接口,然后再实现接口里面的Proce***equest()方法;
(2)里面还需要实现IsReusable() 的方法,它是表示在服务器上是否可以重用(设置为true 即为可重用,一般默认设置为false)
同时我还简单利用一般处理程序,写了一个简单的计算器,希望和大家一同深入体会一下一般处理程序的运用。
首先,我是利用Html[作为前台] + 一般处理程序(.ashx)[业务代码]:
C02index.html代码:
C02index.ashx 一般处理程序的代码:
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Calulate { ////// c02index 的摘要说明 /// public class c02index : IHttpHandler { public void Proce***equest(HttpContext context) { context.Response.ContentType = "text/html"; //1.通过虚拟路径 获取绝对路径 string PhyPath = context.Server.MapPath("c02index.html"); //2.通过绝对路径获取文件值 string strHtml = System.IO.File.ReadAllText(PhyPath); //3.获取浏览器的post方式发过来的参数 string strNum1=context.Request.Form["txtNum1"]; string strNum2=context.Request.Form["txtNum2"]; //4.定义返回的变量 int x=0, y=0, z=0; //5.判断接收的参数 if (!string.IsNullOrEmpty(context.Request.Form["hidIsPostBack"])) { if(!string.IsNullOrEmpty(strNum1) &&!string.IsNullOrEmpty(strNum2)) { if(int.TryParse(strNum1,out x) && int.TryParse(strNum2,out y)) { if (context.Request.Form["Sel"] == "+") { z = x + y; } else if (context.Request.Form["Sel"] == "-") { z = x - y; } else if (context.Request.Form["Sel"] == "*") { z = x * y; } else if (context.Request.Form["Sel"] == "/") { if (y != 0) { z = x / y; } else { throw new Exception("除数不能为零"); } } } } //6.替代字符串 并接收替代后的返回值 strHtml = strHtml.Replace("{num1}", x.ToString()).Replace("{num2}", y.ToString()).Replace("{res}", z.ToString()); //7.把字符串返回给浏览器 context.Response.Write(strHtml); } } public bool IsReusable { get { return false; } } } }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。