
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
	<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head><card id="MainCard" title="&#x6B22;&#x8FCE;&#x5149;&#x4E34;"><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a><br/>&nbsp;</p><p><b>&#x6807;&#x9898;&#x3A;</b> &#x5229;&#x7528;&#x49;&#x48;&#x74;&#x74;&#x70;&#x48;&#x61;&#x6E;&#x64;&#x6C;&#x65;&#x72;&#x5B9E;&#x73B0;&#x41;&#x53;&#x50;&#x2E;&#x4E;&#x45;&#x54;&#x20;&#x55;&#x52;&#x4C;&#x91CD;&#x5199;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x30;&#x39;&#x2D;&#x30;&#x32;&#x2D;&#x31;&#x32;&#x20;&#x30;&#x35;&#x3A;&#x34;&#x39;&#x20;&#x50;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=5">&#x57;&#x65;&#x62;&#x7F16;&#x7A0B;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> IHttpHandler&#x63A5;&#x53E3;&#x5B9E;&#x73B0;&#x7C7B;OwnHttpHandler&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;using System;<br/>using System.Web;<br/>using System.Text.RegularExpressions;<br/>using System.Collections.Generic;<br/>/// &lt;summary&gt;<br/>///IHttpHandler &#x63A5;&#x53E3;&#x5B9E;&#x73B0;&#x7C7B;<br/>/// &lt;/summary&gt;<br/>public class OwnHttpHandler : IHttpHandler<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;#region IHttpHandler &#x6210;&#x5458;<br/>&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;/// &#x5F53;&#x524D;&#x5904;&#x7406;&#x5668;&#x662F;&#x5426;&#x8FD8;&#x53EF;&#x4EE5;&#x88AB;&#x53E6;&#x4E00;&#x4E2A;&#x8BF7;&#x6C42;&#x91CD;&#x590D;&#x4F7F;&#x7528;<br/>&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public bool IsReusable<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get { return true; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;/// &#x5BF9;&#x8BF7;&#x6C42;&#x54CD;&#x5E94;&#x65F6;&#xFF0C;&#x5B9E;&#x9645;&#x6267;&#x884C;&#x7684;&#x4EE3;&#x7801;<br/>&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;context&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public void ProcessRequest(HttpContext context)<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&#x8FD9;&#x8FB9;&#x4E3A;&#x65B9;&#x4FBF;&#x6F14;&#x793A;&#x76F4;&#x63A5;&#x5F80;&#x96C6;&#x5408;&#x6DFB;&#x52A0;&#x89C4;&#x5219;&#xFF0C;&#x5B9E;&#x9645;&#x5E94;&#x7528;&#x53EF;&#x8003;&#x8651;&#x5C06;&#x89C4;&#x5219;&#x5199;&#x5230;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x4E2D;&#x518D;&#x8BFB;&#x53D6;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dictionary&lt;string, string&gt; rules = new Dictionary&lt;string, string&gt;();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rules.Add(@&#34;^/news/(\w+)\.aspx&#34;, &#34;/news.aspx?t=$1&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rules.Add(@&#34;^/soft/(\w+)\.aspx&#34;, &#34;/soft.aspx?t=$1&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rules.Add(@&#34;^/music/(\w+)\.aspx&#34;, &#34;/music.aspx?t=$1&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (KeyValuePair&lt;string, string&gt; rule in rules)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Match match = Regex.Match(context.Request.Path, rule.Key, RegexOptions.IgnoreCase);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (match.Success)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string sendToUrl = Regex.Replace(context.Request.Path, rule.Key, rule.Value, RegexOptions.IgnoreCase);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string path = sendToUrl;//&#x865A;&#x62DF;&#x8DEF;&#x5F84;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string querystring = string.Empty;//&#x67E5;&#x8BE2;&#x53C2;&#x6570;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (sendToUrl.IndexOf(&#34;?&#34;) != -1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path = sendToUrl.Substring(0, sendToUrl.IndexOf(&#34;?&#34;));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;querystring = sendToUrl.Substring(sendToUrl.IndexOf(&#34;?&#34;) + 1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.Server.Execute(path + &#34;?&#34; + querystring);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.Response.Write(&#34;404:&#x9875;&#x9762;&#x672A;&#x627E;&#x5230;&#xFF01;&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;#endregion<br/>}<br/>&#x4F7F;&#x7528;&#x975E;&#x5E38;&#x7B80;&#x5355;&#xFF0C;&#x53EA;&#x9700;&#x5728;&#x914D;&#x7F6E;&#x6587;&#x4EF6;web.config&#x7684;&lt;system.web&gt;&#x8282;&#x70B9;&#x4E2D;&#x52A0;&#x5165;&#x4E0B;&#x8FB9;&#x8282;&#x70B9;&#x5373;&#x53EF;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;&lt;httpHandlers&gt;<br/>&nbsp;&nbsp;&lt;add verb=&#34;*&#34; path=&#34;/news/*.aspx&#34; type=&#34;OwnHttpHandler&#34; /&gt;<br/>&nbsp;&nbsp;&lt;add verb=&#34;*&#34; path=&#34;/soft/*.aspx&#34; type=&#34;OwnHttpHandler&#34; /&gt;<br/>&nbsp;&nbsp;&lt;add verb=&#34;*&#34; path=&#34;/music/*.aspx&#34; type=&#34;OwnHttpHandler&#34; /&gt;<br/>&lt;/httpHandlers&gt;<br/>&#x5176;&#x4ED6;&#x8BF4;&#x660E;<br/>&#xB7;&#x662F;&#x5426;&#x9700;&#x91CD;&#x5199;&#xFF0C;&#x4E24;&#x8005;&#x90FD;&#x662F;&#x5BF9;&#x8DEF;&#x5F84;&#x8FDB;&#x884C;&#x5339;&#x914D;&#x6765;&#x51B3;&#x5B9A;&#xFF0C;HTTP&#x6A21;&#x5757;&#x53EF;&#x4EE5;&#x7528;&#x6B63;&#x5219;&#xFF0C;HTTP&#x5904;&#x7406;&#x7A0B;&#x5E8F;&#x53EA;&#x80FD;&#x7528;&#x901A;&#x914D;&#x7B26;*&#x3001;?&#xFF1B;<br/>&#xB7;HTTP&#x6A21;&#x5757;&#x7684;&#x5339;&#x914D;&#x89C4;&#x5219;&#x53EF;&#x4EE5;&#x653E;&#x5728;&#x4EFB;&#x4F55;&#x53EF;&#x8C03;&#x7528;&#x5230;&#x7684;&#x5730;&#x65B9;&#xFF0C;HTTP&#x5904;&#x7406;&#x7A0B;&#x5E8F;&#x7684;&#x5339;&#x914D;&#x89C4;&#x5219;&#x53EA;&#x80FD;&#x653E;&#x5728;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x4E2D;&#xFF1B;<br/>&#xB7;&#x6240;&#x6709;HTTP&#x6A21;&#x5757;&#x5728;&#x8BF7;&#x6C42;&#x65F6;&#x90FD;&#x4F1A;&#x88AB;&#x8C03;&#x7528;&#xFF0C;&#x4E00;&#x6B21;&#x8BF7;&#x6C42;&#x4E2D;&#x53EA;&#x6709;&#x8DEF;&#x5F84;&#x548C;path&#x5C5E;&#x6027;&#x503C;&#x5339;&#x914D;&#x7684;&#x90A3;&#x4E2A;HTTP&#x5904;&#x7406;&#x7A0B;&#x5E8F;&#x624D;&#x4F1A;&#x88AB;&#x8C03;&#x7528;&#xFF1B;<br/>&#xB7;&#x5982;&#x679C;HTTP&#x6A21;&#x5757;&#x4E2D;&#x4E0D;&#x7406;&#x884C;&#x91CD;&#x5199;&#x90A3;&#x5C06;&#x8BBF;&#x95EE;&#x771F;&#x5B9E;&#x6587;&#x4EF6;&#xFF0C;HTTP&#x5904;&#x7406;&#x7A0B;&#x5E8F;&#x4E2D;&#x4E0D;&#x8FDB;&#x884C;&#x91CD;&#x5199;&#x8BBF;&#x95EE;&#x4E0D;&#x5230;&#x771F;&#x5B9E;&#x6587;&#x4EF6;&#xFF0C;&#x663E;&#x793A;&#x7A7A;&#x767D;&#x9875;&#xFF1B;<br/>&#x53C2;&#x8003;&#x6587;&#x7AE0;<br/>[1].&#x5728;ASP.NET&#x4E2D;&#x6267;&#x884C;URL&#x91CD;&#x5199;&#xFF1A;http://msdn.microsoft.com/zh-cn/library/ms972974.aspx</p><p> + <a href="#CommentCard">&#x67E5;&#x770B;&#x5F53;&#x524D;&#x65E5;&#x5FD7;&#x8BC4;&#x8BBA;</a> (0)</p><p>&nbsp;<br/><br/><a href="wap.asp?do=Login">&#x767B;&#x5F55;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.047&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x5229;&#x7528;&#x49;&#x48;&#x74;&#x74;&#x70;&#x48;&#x61;&#x6E;&#x64;&#x6C;&#x65;&#x72;&#x5B9E;&#x73B0;&#x41;&#x53;&#x50;&#x2E;&#x4E;&#x45;&#x54;&#x20;&#x55;&#x52;&#x4C;&#x91CD;&#x5199;</a></p><p><br/>你没有权限发表评论</p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.047&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="CommentCard"><p>&#x6682;&#x65E0;&#x8BC4;&#x8BBA;</p><p><a href="#MainCard">&#x8FD4;&#x56DE;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.047&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
