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 方法:

示例代码:
1
using System;2
using System.Web;3
using System.Web.Caching;4
using System.Web.SessionState;5
using System.Collections.Specialized;6

7
namespace Loskiv.Utility8


{9

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

{16

17

属性#region 属性18

19

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

{24

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

27

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

{32

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

35

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

{40
get41

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

48

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

{53
get54

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

61

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

{66
get67

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

74

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

{79
get80

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

87

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

{92
get93

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

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

102

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

{107
get108

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

113

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

{118
get119

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

125

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

{130
get131

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

136

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

{141
get142

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

147

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

{152
get153

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

158

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

{163
get164

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

169

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

{174
get175

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

180
#endregion181

182

方法#region 方法183

184

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

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

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

196

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

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

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

208

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

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

216

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

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

224

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

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

232

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

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

240

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

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

248

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

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

256

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

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

264

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

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

272

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

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

280

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

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

288

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

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

296

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

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

304

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

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

312

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

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

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

324

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

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

332

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

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

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

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

352

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

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

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

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

367

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

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

375
#endregion376
}377
}378


浙公网安备 33010602011771号