Asp.Net ¹¹¼Ü(Http Handler ½éÉÜ) Part.2
Asp.Net ¹¹¼Ü(Http Handler ½éÉÜ) - Part.2
ÒýÑÔ
ÔÚ Part.1 HttpÇëÇó´¦ÀíÁ÷³Ì Ò»ÎÄÖУ¬ÎÒÃÇÁ˽âÁËHttpÇëÇóµÄ´¦Àí¹ý³ÌÒÔ¼°ÆäËüһЩÔË×÷ÔÀí¡£ÎÒÃÇÖªµÀHttp¹ÜµÀÖÐÓÐÁ½¸ö¿ÉÓýӿڣ¬Ò»¸öÊÇIHttpHandler£¬Ò»¸öÊÇIHttpModule£¬µ«ÔÚPart.1ÖУ¬ÎÒ²¢Ã»ÓÐÏêϸ½²ÊöÈçºÎ¶ÔËüÃǽøÐбà³Ì£¬Ö»ÊÇÇáÃèµÐ´µØÒ»±Ê´ø¹ý¡£ËùνѧÒÔÖÂÓã¬Ç°ÃæÒѾ½éÉÜÁ˲»ÉÙ¸ÅÄîºÍÔÀí¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇͨ¹ý¼¸¸ö·¶ÀýÀ´Á˽â IHttpHandler£¬¿´¿´ÕÆÎÕÕâЩÔÀíµÄʵ¼ÊÓÃ;¡£
IHttpHandler ¸ÅÊö
¿ÉÄܺÍÎÒÒ»Ñù£¬ºÜ¶àAsp.Net¿ª·¢ÈËÔ±¶¼ÓйýAspµÄ±³¾°£¬ÒÔÖÁÓÚÎÒÃÇÔÚ¿ª·¢³ÌÐòµÄʱºò£¬Í¨³£¶¼ÊÇÔÚ“Ò³Ã漶”ÉÏ˼¿¼£¬Ò²¾ÍÊÇ˵ÎÒÃÇÏÖÔÚÕýÔÚ×öµÄÕâ¸öÒ³ÃæÓ¦¸ÃÓÐʲôÑùµÄ¹¦ÄÜ£¬ÊǽøÐÐÒ»¸öÎʾíµ÷²é»¹ÊÇÒ»¸öÊý¾Ý¿â²éѯµÈµÈ¡£¶øºÜÉÙÔÚ“ÇëÇ󼶔˼¿¼£¬¿¼ÂÇÓÐûÓа취À´Í¨¹ý±àÂëµÄ·½Ê½À´²Ù¿ØÒ»¸öHttpÇëÇó¡£
ʵ¼ÊÉÏ£¬FrameworkÌṩÁËһϵÁеĽӿںÍÀ࣬ÔÊÐíÄã¶ÔÓÚHttpÇëÇó½øÐбà³Ì£¬¶øʵÏÖÕâÒ»²Ù×÷µÄÒ»¸öÖ÷ÒªµÄ½Ó¿Ú£¬¾ÍÊÇ IHttpHandler(ÁíÒ»¸öÊÇIHttpModule)¡£
Ó¦¸Ã»¹¼ÇµÃµÚÒ»½ÚÖÐÎÒÃÇÌáµ½¹ý ISAPI£¬Ëü¸ù¾ÝÎļþÃûºó׺°Ñ²»Í¬µÄÇëÇóת½»¸ø²»Í¬µÄ´¦Àí³ÌÐò¡£µ«ÊÇ×Ðϸ¿´¿´¾Í»á·¢ÏÖ£º¼¸ºõÒ»´ó°ëµÄÎļþ¶¼½»¸ø aspnet_isapi.dll È¥´¦ÀíÁË¡£ºÜÃ÷ÏÔ£¬aspnet_isapi.dll ²»¿ÉÄܶÔÿÖÖÎļþ²ÉÓÃͬһÖÖ·½Ê½´¦Àí£¬ÄÇô aspnet_isapi.dll ÊÇÈçºÎ¸ü½øÒ»²½´¦Àí²»Í¬µÄÎļþ£¬½»ÓÉËÈ¥´¦ÀíÄØ£¿ÎªÁ˸ãÇå³þÕâ¸öÎÊÌ⣬ÎÒÃÇÐèÒª´ò¿ª»úÆ÷ÉÏC:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\ Ŀ¼ÏµÄweb.config Îļþ¡£
NOTE£ºÎÒ²éÔÄÁ˺ܶà×ÊÁÏ£¬¶¼ËµÊÇÔÚ machine.config ÖУ¬µ«Êµ¼ÊÉÏ v2.0.50727 ϵÄmachine.configÖÐhttpHandlers½áµãÊÇÕâÑùµÄ£º<httpHandlers />£¬²¢Ã»Óиø³öÏêϸµÄ´¦Àí³ÌÐò£¬ÔÚWeb.configÖвÅÄÜ¿´µ½¡£¶øv1.1.4322 ϵÄmachine.configÖÐÈ´ÓС£
ÕÒµ½httpHandlers½áµã£¬Ó¦¸Ã¿ÉÒÔ¿´µ½ÈçÏÂÕâÑùµÄ´úÂë(×öÁËÊ¡ÂÔ)£º
<httpHandlers>
... ... //ÂÔ
<add path="*.axd" verb="*" type="System.Web.HttpNotFoundHandler" validate="True" /><add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True" />
<add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True" />
<add path="*.asax" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add
Ïà¹ØÎĵµ£º
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;namespace md5
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(UserMd5("8"));
Console.WriteLine(GetMd5Str("8"));
}
/**//// <summary>
/// MD5 16λ¼ÓÃÜ
......
Request ÊôÐÔÌṩ¶Ô HttpRequest ÀàµÄÊôÐԺͷ½·¨µÄ±à³Ì·ÃÎÊ¡£ÓÉÓÚ ASP.NET Ò³°üº¬¶Ô System.Web ÃüÃû¿Õ¼ä£¨º¬ÓÐ HttpContext ÀࣩµÄĬÈÏÒýÓã¬Òò´ËÔÚ .aspx Ò³ÉÏ¿ÉÒÔÒýÓà HttpContext µÄ³ÉÔ±£¬¶ø²»ÐèÒª¶Ô HttpContext µÄÍêÈ«ÏÞ¶¨ÀàÒýÓá£ÀýÈ磬¿ÉֻʹÓà Request.Browser »ñÈ¡¿Í»§¶Ëä¯ÀÀÆ÷µÄ¹¦ÄÜ¡£µ«ÊÇ£¬Èç¹ûÒª´Ó ASP.NET ´ú ......
Ucase(string) ½«×Ö·û´®×ª»»Îª´óд¡£
Val(string) ½«´ú±íÊý×ÖµÄ×Ö·û´®×ª»»ÎªÊýÖµÐÍ̬£¬Èô×Ö·û´®Öк¬ÓзÇÊý×ÖµÄÄÚÈÝÔò»á½«ÆäÈ¥³ýºó£¬ºÏ²¢ÎªÒ»Êý×Ö¡£
Weekday(date) È¡µÄ²ÎÊýÖеÄÈÕÆÚÊÇÒ»¸öÐÇÆڵĵڼ¸Ì죬ÐÇÆÚÌìΪ1¡¢ÐÇÆÚһΪ2¡¢ÐÇÆÚ¶þΪ3 ÒÀ´ËÀàÍÆ¡£
WeekDayName(number) ÒÀ½ÓÊյIJÎÊýÈ¡µÃÐÇÆÚµÄÃû³Æ£¬¿É½ÓÊյIJÎÊýΪ1 µ½ ......
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
namespace ......
Êý¾Ý°ó¶¨ÒÔ¼°Container.DataItemµÄ¾ßÌå·ÖÎö
Áé»îµÄÔËÓÃÊý¾Ý°ó¶¨²Ù×÷
°ó¶¨µ½¼òµ¥ÊôÐÔ:<%#UserName%>
°ó¶¨µ½¼¯ºÏ:<asp:ListBox id="ListBox1" datasource='<%# myArray%>' runat="server">
°ó¶¨µ½±í´ïʽ:<%#(class1.property1.ToString() + "," + class1.property2.ToString())%>
°ó¶¨µ½·½·¨·µ» ......