asp.netÖеÄResolveUrl ÍêÃÀ½â¾ö·½°¸
¸ù¾ÝÎÒ¸öÈËʹÓÃASP.NETµÄ¾Ñ飬ºÍͨ¹ýÔÚÍøÉÏËÑË÷¡£ÎÒ·¢ÏÖ£¬PageµÄResolveUrl·½·¨¸øÎÒÃÇ´øÀ´ÁËһЩ±È½ÏÑÏÖصÄÎÊÌâ¡£
×î³£¼ûµÄÎÊÌâÊÇÔÚÒ³Ãæ»ò¿Ø¼þÒÔÍâµÄ·¶Î§²»ÄÜʹÓÃËü¡£
ÆäËûµÄÎÊÌⶼÊÇbug¡£ÈçËü²»ÄÜÕýÈ·´¦ÀíһЩÄã¸øµÄURL¡£ÀýÈ磬³¢ÊÔ Page.ResolveUrl("~/test.aspx?param=http://www.test.com")¡£½á¹ûÓëÄãÊäÈë×Ö·û´®Ïàͬ£¬Ã»×öÈκα䶯¡£Ê¹ÓÃReflector²é¿´asp.net´úÂ룬ÎÒ·¢ÏÖ½«Ïà¶ÔURLת»»Îª¾ø¶ÔURL»úÖƶ¼ÊÇÏÈËÑË÷stringÖÐµÄ "://"£¬Èç¹ûÕÒµ½£¬¾ÍÖ±½Ó·µ»ØÁË¡£Òò´Ë£¬Èç¹ûÄã´«µÝÒ»¸ö´ø://µÄ²ÎÊý£¬²éѯ×Ö·û´®¾ÍÊÇOKµÄ¡£ÎÒÃǶ¼ÖªµÀµÄ²éѯ×Ö·û´®²ÎÊýÓ¦½øÐÐurlencode£¬µ«Èç¹ûûÓУ¬ËüÓ¦¸ÃÈÔÈ»ÊÇ¿ÉÒÔ½ÓÊÜURL¡£ÑÏÖصÄÊÇ£¬Òª¼ì²éÄúµÄä¯ÀÀÆ÷¡£
ÍøÉÏ£¬½¨ÒéµÄ·½·¨ÊÇʹÓÃVirtualPathUtility.ToAbsolute£¬Èç¹ûÄãÔÚ´«µÝURL×÷Ϊ²éѯ×Ö·û´®£¬ÕâÊÇÏ൱²»´íºÍ·½±ãµÄ£¬...·ñÔò£¬¾Í»áÒý·¢Òì³£¡£Èç¹ûÊÇÒ»¸ö¾ø¶ÔURL£¬ËüÒ²»áÅ׳öÒì³££¡
ËùÒÔ£¬ÎÒ¾ö¶¨Ñ°ÇóÒ»¸ö×îÖÕ½â¾ö·½°¸¡£
Ê×ÏÈ£¬ÎÒÒªÕÒËÑË÷Ò»¸öºÜºÃµÄ±äÁ¿£¬ËüÄܸøÎÒÃÇÔÚÓ¦ÓóÌÐòÔËÐÐʱµÄÐéÄâ·¾¶£¬²»Ê¹ÓÃÒ³ÃæÉÏÏÂÎÄ¡£
ÎÒʹÓÃÁËHttpRuntime.AppDomainAppVirtualPath¡£ËüÄÜÔÚÈκεط½Ê¹ÓÃ-ÉõÖÁÔÚtimer callbackÖУ¡ËüûÓÐβËæбÏß·¾¶£¬ASP.NET×÷ÁËÌØËØ´¦Àí£¬Ïû³ýб¸Ü£¬²»¹ý£¬ÎÒÃÇÄÜÐÞ¸´Ëü:-)
È»ºó£¬ÎÒʹÓÃÔResolveUrl´úÂë×öÁËһЩ²âÊÔ£¬ÕÒµ½ÔõôÓÃAppVirtualPathÈ¡´ú£º
1¡¢µ±URLÒÔбÏß¿ªÊ¼£¨/»ò\£©£¬Ò²²»»á¸Ä¶¯Ëü£¡
2¡¢µ±URLÒÔ〜/¿ªÊ¼£¬Ëü»á±»AppVirtualPathÈ¡´ú¡£
3¡¢µ±URLÊÇÒ»¸ö¾ø¶ÔURL£¬Ò²²»»á¸Ä±äËü¡£
4¡¢ÔÚÈκÎÆäËûÇé¿öÏ£¨ÉõÖÁÒÔ〜¿ªÊ¼£¬¶ø²»ÊÇб¸Ü£©£¬½«×·¼ÓURLµ½AppVirtualPath¡£
5¡¢Ã¿µ±ËüÐÞ¸ÄURL£¬»¹ÐÞ¸´Ð±¸Ü¡£É¾³ý˫бÏߣ¬ÓÃ/Ìæ»»\¡£
´úÂ룺
´úÂë
public static string ResolveUrl(string relativeUrl)
{
if (relativeUrl == null) throw new ArgumentNullException("relativeUrl");
if (relativeUrl.Length == 0 || relativeUrl[0] == '/' ||
relativeUrl[0] == '\\') return relativeUrl;
&
Ïà¹ØÎĵµ£º
Ë®ÏÉ»¨Êý£ºÒ»¸öÈýλÕûÊý¸÷λÊý×ÖµÄÁ¢·½ºÍµÈÓÚ¸ÃÊý±¾Éí¾Í³Æ¸ÃÊýΪˮÏÉ»¨Êý£¬Ë®ÏÉ»¨Êý¹²ÓÐ4¸ö£¬·Ö±ðΪ£º153¡¢370¡¢371¡¢407( ÀýÈ磺1^3 + 5^3 + 3^3 = 153 )¡£ÎÒдµÄ´úÂëÈçÏ£¬ÄãÓÐÆäËûµÄʵÏÖ´úÂëÒ²¿ÉÒÔ·¢±íÆÀÂÛ¡£
int i, m,n,k;
for (i = 100; i < 1000; i++)
{
//È¡µÃ°ÙλÊý
m = i / 100;
//È¡µ ......
ÉèÖÃ×é¼þ
<configSections>
<section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter"/>
</configSections>
ÉèÖÃÄ£¿é
<httpModules>
&n ......
1¡¢ response.redirect Õâ¸öÌøתҳÃæµÄ·½·¨ÌøתµÄËٶȲ»¿ì£¬ÒòΪËüÒª×ß2¸öÀ´»Ø(2´Îpostback)£¬µ«Ëû¿ÉÒÔÌøתµ½ÈκÎÒ³Ã棬ûÓÐÕ¾µãÒ³ÃæÏÞÖÆ(¼´¿ÉÒÔÓÉÑÅ»¢Ìøµ½ÐÂÀË)£¬Í¬Ê±²»ÄÜÌø¹ýµÇ¼±£»¤¡£µ«ËÙ¶ÈÂýÊÇÆä×î´óȱÏÝ!redirectÌøת»úÖÆ£ºÊ×ÏÈÊÇ·¢ËÍÒ»¸öhttpÇëÇ󵽿ͻ§¶Ë£¬Í¨ÖªÐèÒªÌøתµ½ÐÂÒ³Ã棬Ȼºó¿Í»§¶ËÔÚ·¢ËÍÌøתÇëÇóµ½·þÎñÆ÷¶ ......
ʲôÊÇCache¶ÔÏó?
ÄãÔÚÉú³É¸ßÐÔÄÜÍøÂçÓ¦ÓóÌÐòʱËùÓöµ½µÄÒ»¸öÎÊÌâ¾ÍÊÇÐèÒª±ÜÃâÖظ´¡£Ò»¸öCache¶ÔÏóÔÊÐíÔÚËüÃǵÚÒ»´Î±»ÇëÇóʱÔÚÄÚ´æÖлº´æÏȻºó½«±»»º´æµÄ¸±±¾ÓÃÓÚÒÔºóµÄÇëÇó¡£Ê¹Óñ»»º´æµÄ¸±±¾ÔÊÐíÄã±ÜÃâÖؽ¨Âú×ãÒÔÇ°ÇëÇóµÄÐÅÏ¢£¬ÌرðÊÇÄÇЩÿ´Î´´½¨Ê±¶¼ÐèÕ¼ÓÐÃ÷ʾµÄ·þÎñÆ÷ÉϵĴ¦ÀíÆ÷ʱ¼äµÄÃüÁî¡£
³ý»º´æ¸ö±ðÏÈç» ......
public static string TheColor(string color,string enumName)
{
return string.Format("<span style=\"color={0}\">{1}</span>",color,enumName);
  ......