溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

asp.net 一般處理程序(5)-(C#)

發(fā)布時(shí)間:2020-10-01 12:55:17 來(lái)源:網(wǎng)絡(luò) 閱讀:1307 作者:海莉zhe 欄目:編程語(yǔ)言

           一般處理程序:其實(shí)它本質(zhì)上就是一個(gè)類,但是它需要注意幾個(gè)方面:asp.net 一般處理程序(5)-(C#)

    (1)需要實(shí)現(xiàn)一個(gè)IHttpHandler的接口,這是因?yàn)樗赼sp.net的運(yùn)行原理中,在創(chuàng)建被請(qǐng)求的頁(yè)面類時(shí),需要把它轉(zhuǎn)成接口,然后再實(shí)現(xiàn)接口里面的Proce***equest()方法;

    (2)里面還需要實(shí)現(xiàn)IsReusable() 的方法,它是表示在服務(wù)器上是否可以重用(設(shè)置為true 即為可重用,一般默認(rèn)設(shè)置為false)

 

         同時(shí)我還簡(jiǎn)單利用一般處理程序,寫了一個(gè)簡(jiǎn)單的計(jì)算器,希望和大家一同深入體會(huì)一下一般處理程序的運(yùn)用。

    首先,我是利用Html[作為前臺(tái)]      +     一般處理程序(.ashx)[業(yè)務(wù)代碼]:

asp.net 一般處理程序(5)-(C#)

        C02index.html代碼:

      

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form action="c02index.ashx" method="post">
<input  type="hidden" name="hidIsPostBack" value="1"/>
<input  type="text" name="txtNum1" value="{num1}"/><select id="Select1" name="Sel">
<option selected="selected">+</option>
<option selected="selected">-</option>
<option selected="selected">*</option>
<option selected="selected">/</option>
</select>
<input  type="text" name="txtNum2" value="{num2}"/>=
<input  type="text" name="txtSum" value="{res}"/><br />
<input  type="submit" value ="計(jì)算"/>
</form>
</body>
</html>

     C02index.ashx 一般處理程序的代碼:

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Calulate
{
/// <summary>
/// c02index 的摘要說(shuō)明
/// </summary>
public class c02index : IHttpHandler
{
public void Proce***equest(HttpContext context)
{
context.Response.ContentType = "text/html";
//1.通過(guò)虛擬路徑 獲取絕對(duì)路徑
string PhyPath = context.Server.MapPath("c02index.html");
//2.通過(guò)絕對(duì)路徑獲取文件值
string strHtml = System.IO.File.ReadAllText(PhyPath);
//3.獲取瀏覽器的post方式發(fā)過(guò)來(lái)的參數(shù)
string strNum1=context.Request.Form["txtNum1"];
string strNum2=context.Request.Form["txtNum2"];
//4.定義返回的變量
int x=0, y=0, z=0;
//5.判斷接收的參數(shù)
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("除數(shù)不能為零");
}
}
}
}
//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;
}
}
}
}

       

 

asp.net 一般處理程序(5)-(C#)asp.net 一般處理程序(5)-(C#)asp.net 一般處理程序(5)-(C#)asp.net 一般處理程序(5)-(C#)asp.net 一般處理程序(5)-(C#)asp.net 一般處理程序(5)-(C#)asp.net 一般處理程序(5)-(C#)asp.net 一般處理程序(5)-(C#)asp.net 一般處理程序(5)-(C#)asp.net 一般處理程序(5)-(C#)asp.net 一般處理程序(5)-(C#)asp.net 一般處理程序(5)-(C#)

 

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI