RequestUtility类中,封装了一些常用属性,如:取得当前请求URL,RawURL,远程客户端IP,远程客户端DNS等;
封装了一些常用方法:如从QueryString和Form中取得int、float、decimal、double、DateTime类型参数,以及读取和设置Cookies和Session的常用操作。
    
对于这样的http://www.3wto.com/aspx/PictureDetail.aspx?ID=8719,你会怎么取得ID值呢?
如果你还停留在:
if(Request.QueryString("ID")!=null){
int ID = Convert.ToInt32(Request.QueryString("ID"));
}
那你在这篇文章将会找到新的答案,比如:
int ID = RequestUtility.GetQueryInt("ID",-1);
怎么样,是不是很easy?
OK 下面还有更精彩的,fllow me!
还是老样子,先上图:
RequestUtility 常用属性:

RequestUtility 方法:

示例代码:

 RequestUtility
RequestUtility1
 using System;
using System;2
 using System.Web;
using System.Web;3
 using System.Web.Caching;
using System.Web.Caching;4
 using System.Web.SessionState;
using System.Web.SessionState;5
 using System.Collections.Specialized;
using System.Collections.Specialized;6

7
 namespace Loskiv.Utility
namespace Loskiv.Utility8


 {
{9

 /**//// <summary>
    /**//// <summary>10
 /// 名称:Request常用属性和操作类
    /// 名称:Request常用属性和操作类11
 /// 作者:loskiv
    /// 作者:loskiv12
 /// 创建时间:2009-07-07
    /// 创建时间:2009-07-0713
 /// </summary>
    /// </summary>14
 public class RequestUtility
    public class RequestUtility15

 
     {
{16

17

 属性#region 属性
        属性#region 属性18

19

 /**//// <summary>
        /**//// <summary>20
 /// 当前页面是否接收到了Post请求
        /// 当前页面是否接收到了Post请求21
 /// </summary>
        /// </summary>22
 public static bool IsPost
        public static bool IsPost23

 
         {
{24

 get
            get  { return SiteUtility.CurRequest.HttpMethod.Equals("POST"); }
{ return SiteUtility.CurRequest.HttpMethod.Equals("POST"); }25
 }
        }26

27

 /**//// <summary>
        /**//// <summary>28
 /// 当前页面是否接收到了Get请求
        /// 当前页面是否接收到了Get请求29
 /// </summary>
        /// </summary>30
 public static bool IsGet
        public static bool IsGet31

 
         {
{32

 get
            get  { return SiteUtility.CurRequest.HttpMethod.Equals("GET"); }
{ return SiteUtility.CurRequest.HttpMethod.Equals("GET"); }33
 }
        }34

35

 /**//// <summary>
        /**//// <summary>36
 /// 客户端请求当前页面的URL地址
        /// 客户端请求当前页面的URL地址37
 /// </summary>
        /// </summary>38
 public static string CurURL
        public static string CurURL39

 
         {
{40
 get
            get41

 
             {
{42
 if (ConvertUtility.IsNull(SiteUtility.CurRequest.Url))
                if (ConvertUtility.IsNull(SiteUtility.CurRequest.Url))43
 return string.Empty;
                    return string.Empty;44
 return SiteUtility.CurRequest.Url.ToString();
                return SiteUtility.CurRequest.Url.ToString();45
 }
            }46
 }
        }47

48

 /**//// <summary>
        /**//// <summary>49
 /// 客户端请求当前页面的原始URL地址,不带http://的
        /// 客户端请求当前页面的原始URL地址,不带http://的50
 /// </summary>
        /// </summary>51
 public static string CurRawURL
        public static string CurRawURL52

 
         {
{53
 get
            get54

 
             {
{55
 if (ConvertUtility.IsNull(SiteUtility.CurRequest.RawUrl))
                if (ConvertUtility.IsNull(SiteUtility.CurRequest.RawUrl))56
 return string.Empty;
                    return string.Empty;57
 return SiteUtility.CurRequest.RawUrl;
                return SiteUtility.CurRequest.RawUrl;58
 }
            }59
 }
        }60

61

 /**//// <summary>
        /**//// <summary>62
 /// 上次请求的URL地址,该URL地址链接到当前URL
        /// 上次请求的URL地址,该URL地址链接到当前URL63
 /// </summary>
        /// </summary>64
 public static string ReferrerURL
        public static string ReferrerURL65

 
         {
{66
 get
            get67

 
             {
{68
 if (ConvertUtility.IsNull(SiteUtility.CurRequest.UrlReferrer))
                if (ConvertUtility.IsNull(SiteUtility.CurRequest.UrlReferrer))69
 return string.Empty;
                    return string.Empty;70
 return SiteUtility.CurRequest.UrlReferrer.ToString();
                return SiteUtility.CurRequest.UrlReferrer.ToString();71
 }
            }72
 }
        }73

74

 /**//// <summary>
        /**//// <summary>75
 /// 当前请求URL的主机名
        /// 当前请求URL的主机名76
 /// </summary>
        /// </summary>77
 public static string CurHostName
        public static string CurHostName78

 
         {
{79
 get
            get80

 
             {
{81
 if (ConvertUtility.IsNull(SiteUtility.CurRequest.Url))
                if (ConvertUtility.IsNull(SiteUtility.CurRequest.Url))82
 return string.Empty;
                    return string.Empty;83
 return SiteUtility.CurRequest.Url.Host;
                return SiteUtility.CurRequest.Url.Host;84
 }
            }85
 }
        }86

87

 /**//// <summary>
        /**//// <summary>88
 /// 当前请求URL的主机名和端口信息
        /// 当前请求URL的主机名和端口信息89
 /// </summary>
        /// </summary>90
 public static string CurFullHostName
        public static string CurFullHostName91

 
         {
{92
 get
            get93

 
             {
{94
 if (!SiteUtility.CurRequest.Url.IsDefaultPort)
                if (!SiteUtility.CurRequest.Url.IsDefaultPort)95

 
                 {
{96
 return string.Format("{0}:{1}", SiteUtility.CurRequest.Url.Host, SiteUtility.CurRequest.Url.Port.ToString());
                    return string.Format("{0}:{1}", SiteUtility.CurRequest.Url.Host, SiteUtility.CurRequest.Url.Port.ToString());97
 }
                }98
 return CurHostName;
                return CurHostName;99
 }
            }100
 }
        }101

102

 /**//// <summary>
        /**//// <summary>103
 /// 当前页面文件的完整物理路径
        /// 当前页面文件的完整物理路径104
 /// </summary>
        /// </summary>105
 public static string CurPhysicalPath
        public static string CurPhysicalPath106

 
         {
{107
 get
            get108

 
             {
{109
 return SiteUtility.CurRequest.PhysicalPath;
                return SiteUtility.CurRequest.PhysicalPath;110
 }
            }111
 }
        }112

113

 /**//// <summary>
        /**//// <summary>114
 /// 当前页面文件名
        /// 当前页面文件名115
 /// </summary>
        /// </summary>116
 public static string CurPageName
        public static string CurPageName117

 
         {
{118
 get
            get119

 
             {
{120
 string[] urlArr = SiteUtility.CurRequest.Url.AbsolutePath.Split('/');
                string[] urlArr = SiteUtility.CurRequest.Url.AbsolutePath.Split('/');121
 return urlArr[urlArr.Length - 1];
                return urlArr[urlArr.Length - 1];122
 }
            }123
 }
        }124

125

 /**//// <summary>
        /**//// <summary>126
 /// 当前应用程序的完整物理路径
        /// 当前应用程序的完整物理路径127
 /// </summary>
        /// </summary>128
 public static string CurPhysicalApplicationPath
        public static string CurPhysicalApplicationPath129

 
         {
{130
 get
            get131

 
             {
{132
 return SiteUtility.CurRequest.PhysicalApplicationPath;
                return SiteUtility.CurRequest.PhysicalApplicationPath;133
 }
            }134
 }
        }135

136

 /**//// <summary>
        /**//// <summary>137
 /// 远程客户端的IP地址
        /// 远程客户端的IP地址138
 /// </summary>
        /// </summary>139
 public static string ClientIP
        public static string ClientIP140

 
         {
{141
 get
            get142

 
             {
{143
 return SiteUtility.CurRequest.UserHostAddress;
                return SiteUtility.CurRequest.UserHostAddress;144
 }
            }145
 }
        }146

147

 /**//// <summary>
        /**//// <summary>148
 /// 远程客户端的DNS名称
        /// 远程客户端的DNS名称149
 /// </summary>
        /// </summary>150
 public static string ClientDNSName
        public static string ClientDNSName151

 
         {
{152
 get
            get153

 
             {
{154
 return SiteUtility.CurRequest.UserHostName;
                return SiteUtility.CurRequest.UserHostName;155
 }
            }156
 }
        }157

158

 /**//// <summary>
        /**//// <summary>159
 /// 获取当前请求Form对象
        /// 获取当前请求Form对象160
 /// </summary>
        /// </summary>161
 public static NameValueCollection Form
        public static NameValueCollection Form162

 
         {
{163
 get
            get164

 
             {
{165
 return SiteUtility.CurRequest.Form;
                return SiteUtility.CurRequest.Form;166
 }
            }167
 }
        }168

169

 /**//// <summary>
        /**//// <summary>170
 /// 获取当前请求QueryString对象
        /// 获取当前请求QueryString对象171
 /// </summary>
        /// </summary>172
 public static NameValueCollection QueryString
        public static NameValueCollection QueryString173

 
         {
{174
 get
            get175

 
             {
{176
 return SiteUtility.CurRequest.QueryString;
                return SiteUtility.CurRequest.QueryString;177
 }
            }178
 }
        }179

180
 #endregion
        #endregion181

182

 方法#region 方法
        方法#region 方法183

184

 /**//// <summary>
        /**//// <summary>185
 /// 获取web服务器指定名称的变量值
        /// 获取web服务器指定名称的变量值186
 /// </summary>
        /// </summary>187
 public static string GetServerVariable(string name)
        public static string GetServerVariable(string name)188

 
         {
{189
 if (SiteUtility.CurRequest.ServerVariables[name] == null)
            if (SiteUtility.CurRequest.ServerVariables[name] == null)190

 
             {
{191
 return "";
                return "";192
 }
            }193
 return SiteUtility.CurRequest.ServerVariables[name].ToString();
            return SiteUtility.CurRequest.ServerVariables[name].ToString();194
 }
        }195

196

 /**//// <summary>
        /**//// <summary>197
 /// 获取指定名称的http头变量信息
        /// 获取指定名称的http头变量信息198
 /// </summary>
        /// </summary>199
 public static string GetHeadValue(string name)
        public static string GetHeadValue(string name)200

 
         {
{201
 if (SiteUtility.CurRequest.Headers[name] == null)
            if (SiteUtility.CurRequest.Headers[name] == null)202

 
             {
{203
 return "";
                return "";204
 }
            }205
 return SiteUtility.CurRequest.Headers[name].ToString();
            return SiteUtility.CurRequest.Headers[name].ToString();206
 }
        }207

208

 /**//// <summary>
        /**//// <summary>209
 /// 获取string类型的url参数值
        /// 获取string类型的url参数值210
 /// </summary>
        /// </summary>211
 public static string GetQueryString(string name)
        public static string GetQueryString(string name)212

 
         {
{213
 return ConvertUtility.ConvertToString(SiteUtility.CurRequest.QueryString[name]);
            return ConvertUtility.ConvertToString(SiteUtility.CurRequest.QueryString[name]);214
 }
        }215

216

 /**//// <summary>
        /**//// <summary>217
 /// 获取int类型的url参数值
        /// 获取int类型的url参数值218
 /// </summary>
        /// </summary>219
 public static int GetQueryInt(string name, int defaultValue)
        public static int GetQueryInt(string name, int defaultValue)220

 
         {
{221
 return ConvertUtility.ConvertToInt(SiteUtility.CurRequest.QueryString[name], defaultValue);
            return ConvertUtility.ConvertToInt(SiteUtility.CurRequest.QueryString[name], defaultValue);222
 }
        }223

224

 /**//// <summary>
        /**//// <summary>225
 /// 获取float类型的url参数值
        /// 获取float类型的url参数值226
 /// </summary>
        /// </summary>227
 public static float GetQueryFloat(string name, float defaultValue)
        public static float GetQueryFloat(string name, float defaultValue)228

 
         {
{229
 return ConvertUtility.ConvertToFloat(SiteUtility.CurRequest.QueryString[name], defaultValue);
            return ConvertUtility.ConvertToFloat(SiteUtility.CurRequest.QueryString[name], defaultValue);230
 }
        }231

232

 /**//// <summary>
        /**//// <summary>233
 /// 获取decimal类型的url参数值
        /// 获取decimal类型的url参数值234
 /// </summary>
        /// </summary>235
 public static decimal GetQueryDecimal(string name, decimal defaultValue)
        public static decimal GetQueryDecimal(string name, decimal defaultValue)236

 
         {
{237
 return ConvertUtility.ConvertToDecimal(SiteUtility.CurRequest.QueryString[name], defaultValue);
            return ConvertUtility.ConvertToDecimal(SiteUtility.CurRequest.QueryString[name], defaultValue);238
 }
        }239

240

 /**//// <summary>
        /**//// <summary>241
 /// 获取double类型的url参数值
        /// 获取double类型的url参数值242
 /// </summary>
        /// </summary>243
 public static double GetQueryDouble(string name, double defaultValue)
        public static double GetQueryDouble(string name, double defaultValue)244

 
         {
{245
 return ConvertUtility.ConvertToDouble(SiteUtility.CurRequest.QueryString[name], defaultValue);
            return ConvertUtility.ConvertToDouble(SiteUtility.CurRequest.QueryString[name], defaultValue);246
 }
        }247

248

 /**//// <summary>
        /**//// <summary>249
 /// 获取DateTime类型的url参数值
        /// 获取DateTime类型的url参数值250
 /// </summary>
        /// </summary>251
 public static DateTime GetQueryDateTime(string name)
        public static DateTime GetQueryDateTime(string name)252

 
         {
{253
 return ConvertUtility.ConvertToDateTime(SiteUtility.CurRequest.QueryString[name]);
            return ConvertUtility.ConvertToDateTime(SiteUtility.CurRequest.QueryString[name]);254
 }
        }255

256

 /**//// <summary>
        /**//// <summary>257
 /// 获取string类型的Form参数值
        /// 获取string类型的Form参数值258
 /// </summary>
        /// </summary>259
 public static string GetFormString(string name)
        public static string GetFormString(string name)260

 
         {
{261
 return ConvertUtility.ConvertToString(SiteUtility.CurRequest.Form[name]);
            return ConvertUtility.ConvertToString(SiteUtility.CurRequest.Form[name]);262
 }
        }263

264

 /**//// <summary>
        /**//// <summary>265
 /// 获取int类型的Form参数值
        /// 获取int类型的Form参数值266
 /// </summary>
        /// </summary>267
 public static int GetFormInt(string name, int defaultValue)
        public static int GetFormInt(string name, int defaultValue)268

 
         {
{269
 return ConvertUtility.ConvertToInt(SiteUtility.CurRequest.Form[name], defaultValue);
            return ConvertUtility.ConvertToInt(SiteUtility.CurRequest.Form[name], defaultValue);270
 }
        }271

272

 /**//// <summary>
        /**//// <summary>273
 /// 获取float类型的Form参数值
        /// 获取float类型的Form参数值274
 /// </summary>
        /// </summary>275
 public static float GetFormFloat(string name, float defaultValue)
        public static float GetFormFloat(string name, float defaultValue)276

 
         {
{277
 return ConvertUtility.ConvertToFloat(SiteUtility.CurRequest.Form[name], defaultValue);
            return ConvertUtility.ConvertToFloat(SiteUtility.CurRequest.Form[name], defaultValue);278
 }
        }279

280

 /**//// <summary>
        /**//// <summary>281
 /// 获取double类型的Form参数值
        /// 获取double类型的Form参数值282
 /// </summary>
        /// </summary>283
 public static double GetFormDouble(string name, double defaultValue)
        public static double GetFormDouble(string name, double defaultValue)284

 
         {
{285
 return ConvertUtility.ConvertToDouble(SiteUtility.CurRequest.Form[name], defaultValue);
            return ConvertUtility.ConvertToDouble(SiteUtility.CurRequest.Form[name], defaultValue);286
 }
        }287

288

 /**//// <summary>
        /**//// <summary>289
 /// 获取decimal类型的Form参数值
        /// 获取decimal类型的Form参数值290
 /// </summary>
        /// </summary>291
 public static decimal GetFormDecimal(string name, decimal defaultValue)
        public static decimal GetFormDecimal(string name, decimal defaultValue)292

 
         {
{293
 return ConvertUtility.ConvertToDecimal(SiteUtility.CurRequest.Form[name], defaultValue);
            return ConvertUtility.ConvertToDecimal(SiteUtility.CurRequest.Form[name], defaultValue);294
 }
        }295

296

 /**//// <summary>
        /**//// <summary>297
 /// 获取DateTime类型的Form参数值
        /// 获取DateTime类型的Form参数值298
 /// </summary>
        /// </summary>299
 public static DateTime GetFormDateTime(string name)
        public static DateTime GetFormDateTime(string name)300

 
         {
{301
 return ConvertUtility.ConvertToDateTime(SiteUtility.CurRequest.Form[name]);
            return ConvertUtility.ConvertToDateTime(SiteUtility.CurRequest.Form[name]);302
 }
        }303

304

 /**//// <summary>
        /**//// <summary>305
 /// 获取远程客户端指定名称的Cookie对象,返回HttpCookie类型
        /// 获取远程客户端指定名称的Cookie对象,返回HttpCookie类型306
 /// </summary>
        /// </summary>307
 public static HttpCookie GetCookie(string name)
        public static HttpCookie GetCookie(string name)308

 
         {
{309
 return SiteUtility.CurRequestCookies[name];
            return SiteUtility.CurRequestCookies[name];310
 }
        }311

312

 /**//// <summary>
        /**//// <summary>313
 /// 获取远程客户端指定名称的Cookie对象的值,如果为空返回string.Empty
        /// 获取远程客户端指定名称的Cookie对象的值,如果为空返回string.Empty314
 /// </summary>
        /// </summary>315
 public static string GetCookieValue(string name)
        public static string GetCookieValue(string name)316

 
         {
{317
 if (ConvertUtility.IsNull(GetCookie(name)))
            if (ConvertUtility.IsNull(GetCookie(name)))318

 
             {
{319
 return string.Empty;
                return string.Empty;320
 }
            }321
 return GetCookie(name).Value;
            return GetCookie(name).Value;322
 }
        }323

324

 /**//// <summary>
        /**//// <summary>325
 /// 获取远程客户端指定名称的Session对象,返回object类型
        /// 获取远程客户端指定名称的Session对象,返回object类型326
 /// </summary>
        /// </summary>327
 public static object GetSession(string name)
        public static object GetSession(string name)328

 
         {
{329
 return SiteUtility.CurSession[name];
            return SiteUtility.CurSession[name];330
 }
        }331

332

 /**//// <summary>
        /**//// <summary>333
 /// 设置远程客户端指定名称的Cookie对象
        /// 设置远程客户端指定名称的Cookie对象334
 /// </summary>
        /// </summary>335
 public static void SetResponseCookie(string name, string value, DateTime expireDateTime)
        public static void SetResponseCookie(string name, string value, DateTime expireDateTime)336

 
         {
{337
 HttpCookie cookie = GetCookie(name);
            HttpCookie cookie = GetCookie(name);338
 if (ConvertUtility.IsNull(cookie))
            if (ConvertUtility.IsNull(cookie))339

 
             {
{340
 cookie = new HttpCookie(name, value);
                cookie = new HttpCookie(name, value);341
 cookie.Expires = expireDateTime;
                cookie.Expires = expireDateTime;342
 SiteUtility.CurResponseCookies.Add(cookie);
                SiteUtility.CurResponseCookies.Add(cookie);343
 }
            }344
 else
            else345

 
             {
{346
 cookie.Value = value;
                cookie.Value = value;347
 cookie.Expires = expireDateTime;
                cookie.Expires = expireDateTime;348
 SiteUtility.CurResponseCookies.Set(cookie);
                SiteUtility.CurResponseCookies.Set(cookie);349
 }
            }350
 }
        }351

352

 /**//// <summary>
        /**//// <summary>353
 /// 设置远程客户端Cookie对象
        /// 设置远程客户端Cookie对象354
 /// </summary>
        /// </summary>355
 public static void SetResponseCookie(HttpCookie cookie)
        public static void SetResponseCookie(HttpCookie cookie)356

 
         {
{357
 if (GetCookie(cookie.Name) != null)
            if (GetCookie(cookie.Name) != null)358

 
             {
{359
 SiteUtility.CurResponseCookies.Set(cookie);
                SiteUtility.CurResponseCookies.Set(cookie);360
 }
            }361
 else
            else362

 
             {
{363
 SiteUtility.CurResponseCookies.Add(cookie);
                SiteUtility.CurResponseCookies.Add(cookie);364
 }
            }365
 }
        }366

367

 /**//// <summary>
        /**//// <summary>368
 /// 设置当前浏览器的Session对象
        /// 设置当前浏览器的Session对象369
 /// </summary>
        /// </summary>370
 public static void SetSession(string name, string value)
        public static void SetSession(string name, string value)371

 
         {
{372
 SiteUtility.CurSession[name] = value;
            SiteUtility.CurSession[name] = value;373
 }
        }374

375
 #endregion
        #endregion376
 }
    }377
 }
}378

 
                    
                     
                    
                 
                    
                 

 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号