不要直接对Request.Headers["If-Modified-Since"]使用Convert.ToDateTime
2015-07-07 09:59
525 查看
不要直接对Request.Headers["If-Modified-Since"]使用Convert.ToDateTime
前一段时间图片处理服务一直报“System.FormatException: 该字符串未被识别为有效的 DateTime”。查了几天,没什么效果,昨天夜里写了日志记录,终于发现问题所在了。
一般来说 浏览器带到服务器端的If-Modified-Since应该是这种格式 Sun, 15 Nov 2009 04:57:01 GMT,但某些浏览器带过来的格式通过Request.Headers["If-Modified-Since"]获取到的却是:Sun, 15 Nov 2009 04:57:01 GMT; length=11162。 所以如果我们直接 Convert.ToDateTime(Request.Headers["If-Modified-Since"])就会错。
解决办法如下:
DateTime clientIfModifiedSince = DateTime.Now.AddDays(-100);
string if_Modified_Since =Request.Headers["If-Modified-Since"];
//Sun, 15 Nov 2009
04:57:01 GMT; length=11162
string[]
if_Modified_Since_array = if_Modified_Since.Split(';');
if (if_Modified_Since_array.Length > 1)
{
clientIfModifiedSince =
Convert.ToDateTime(if_Modified_Since[0]);
}
else
{
clientIfModifiedSince =
Convert.ToDateTime(if_Modified_Since);
}
前一段时间图片处理服务一直报“System.FormatException: 该字符串未被识别为有效的 DateTime”。查了几天,没什么效果,昨天夜里写了日志记录,终于发现问题所在了。
一般来说 浏览器带到服务器端的If-Modified-Since应该是这种格式 Sun, 15 Nov 2009 04:57:01 GMT,但某些浏览器带过来的格式通过Request.Headers["If-Modified-Since"]获取到的却是:Sun, 15 Nov 2009 04:57:01 GMT; length=11162。 所以如果我们直接 Convert.ToDateTime(Request.Headers["If-Modified-Since"])就会错。
解决办法如下:
DateTime clientIfModifiedSince = DateTime.Now.AddDays(-100);
string if_Modified_Since =Request.Headers["If-Modified-Since"];
//Sun, 15 Nov 2009
04:57:01 GMT; length=11162
string[]
if_Modified_Since_array = if_Modified_Since.Split(';');
if (if_Modified_Since_array.Length > 1)
{
clientIfModifiedSince =
Convert.ToDateTime(if_Modified_Since[0]);
}
else
{
clientIfModifiedSince =
Convert.ToDateTime(if_Modified_Since);
}
相关文章推荐
- UIScrollView详解
- windows 10 build 10162无法识别网卡怎么办?
- ext笔记(te be continued..)
- 全新Win10预览版本周推送,或为Build 10164
- 视频:Win10 Mobile Build 10158模拟器上手视频演示
- EasyUi 中datagrid 实现查询方法
- [SoapUI] 通过Groovy获取SoapUI当前Project所在的目录
- PHP中include和require的区别详解
- 取到easyui的tab下iframe方法
- c# KeyValue与KeyData与KeyCode区别(转)
- Win10 RTM正式版首个候选版Build 10176编译完成
- Windows 10 Build 10162向Slow Ring通道推送
- NSURLRequestCachePolicy
- Win10 10162大面积推送 附Win10 Build 10162镜像下载(64/32位)
- Windows10 Build 10163准正式版详细截图曝光
- UIImageView 和 UIButton的区别
- android studio错误解决finished with non-zero exit value 1 【javax/xml/namespace/QName.class】
- leetcode 232:Implement Queue using Stacks
- LeetCode "Implement Queue using Stacks"
- 为什么子线程不能更新UI的完全解析!!