dudu
为程序员打杂的站长
博客园
首页
博问
闪存
新随笔
联系
订阅
管理
随笔-1184 文章-304 评论-26131
2006年8月10日
博客园Blog程序中又一个奇怪问题
这篇文章中只是描述了我在博客园Blog程序中遇到的问题以及我处理问题的一些想法,并没有提供解决方案,写出来希望能够给感兴趣的朋友一些参考,相然也希望得到一些建议。 : )
在博客园服务器的应用程序事件日志,每天都有很多这样的警告与错误信息:
警告:
Event Type: Warning
Event Source: ASP.NET 2.0.50727.0
Event ID: 1073
Description:
Failed to process request.
Exception: System.Web.HttpException
Message: '/files/test/绠€鍗曠粨鏋勭ず鎰忓浘锛堝叚锛?jpg' is not a valid virtual path.
StackTrace: at System.Web.VirtualPath.Create(String virtualPath, VirtualPathOptions options)
at System.Web.HttpRequest.get_FilePathObject()
at System.Web.Security.CookielessHelperClass.RemoveCookielessValuesFromPath()
at System.Web.HttpContext.Init(HttpRequest request, HttpResponse response)
at System.Web.HttpContext..ctor(HttpWorkerRequest wr, Boolean initResponseWriter)
at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at System.Web.HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
at System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
错误:
Event Type: Error
Event Source: ASP.NET 2.0.50727.0
Event ID: 1091
Description:
Failed to execute request due to unknown error. Error: 0x80004005 Unspecified error
说明:
1、在日志中,上面的警告信息先被记录,两个信息记录的时间在同一秒。
2、在访问高峰期,每几分钟就会出现,也就是这个问题与ASP.NET2.0 运行时的负荷有关,ASP.NET2.0运行时太忙、太累的时候就容易出错。
3、这两事件都是一起出现,说明是关联的,是由同一个原因引起的。
4、从警告信息中可以看出,这个问题是url乱码引起的。
对于这个问题,我觉得首先找到问题发生的地方是必要的,从警告信息中我们可以看出问题发生在VirtalPath中,VirtalPath是ASP.NET 2.0中一个很重要的类,只要与虚拟路径相关的操作,多多少少都会与VirtalPath有联系,遗憾的是这个类被internal保护,不能直接调用,不然在开发ASP.NET 2.0应用 程序时会很有帮助。(题外话:既然Reflector可以反编译源代码,通过反射也能调用,我觉得微软没必要用internal将那很多有用的类保护起来,开放出来,可以帮助.NET开发人员。)
根据警告信息,用Reflector查看VirtalPath.Create(string virtualPath, VirtualPathOptions options)的代码,找出警告产生的源头,根据我的分析,应该是在下面的代码中产生的:
if
(virtualPath.IndexOfAny(VirtualPath.s_illegalVirtualPathChars)
>=
0
)
{
throw
new
HttpException(SR.GetString(
"
Invalid_vpath
"
,
new
object
[] { virtualPath }));
}
由于url出现乱码,上面的代码在处理url时发现了非法字符,从而产生异常。
而让人困惑的是,url怎么会乱码,由客户端浏览器产生的?但怎么出现问题的次数与访问量有关,而且大多数都是产生于对下载文件的访问,而且其中大多数是中文文件名,难道与通配符映射有关,难道是ASP.NET 2.0运行时在处理过程中造成了url乱码?
posted @ 2006-08-10 14:54 dudu 阅读(3412) 评论(11)
编辑
公告
人生的真正价值在于从何种程度与何种意义上摆脱自我!
博问,帮您解决IT难题
昵称:
dudu
园龄:
8年1个月
粉丝:
1545
关注:
212
<
2006年8月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
最新随笔
1. 浏览器兼容CSS代码:按钮文字垂直居中(input button text vertical align)
2. C#正则表达式操作中使用LINQ
3. Entity Framework - 理清关系 - 基于共享主键的单向一对一关系
4. Entity Framework - 理清关系 - 基于外键关联的单向一对一关系
5. 享受无止境 - 改进版WCF Client
6. 2011年的那个“一”
7. 让Entity Framework不再私闯sys.databases
8. C# string Array to int Array
9. AutoMapper使用笔记
10. 遭遇IE8下的JavaScript兼容问题
我的标签
Entity Framework
(27)
ASP.NET
(13)
WCF
(11)
ASP.NET MVC
(10)
VS2010
(9)
Entity Framework 实践系列
(6)
JavaScript
(4)
新功能发布
(4)
Memcached
(4)
创业
(3)
更多
随笔分类
ASP.NET(29)
(rss)
C#(14)
(rss)
SharePoint(17)
(rss)
VS2005(8)
(rss)
WCF(5)
(rss)
博客系统开发(1)
(rss)
创业(14)
(rss)
电脑使用经验(19)
(rss)
读书(3)
(rss)
好歌收藏(9)
(rss)
开源(5)
(rss)
媒体报道(4)
(rss)
生活随笔(4)
(rss)
数据库技术(5)
(rss)
推荐阅读(18)
(rss)
网站功能发布(71)
(rss)
网站管理(165)
(rss)
网站性能优化(4)
(rss)
新闻推荐(2)
(rss)
宅急送快递门事件(12)
(rss)
随笔档案
2012年2月 (1)
2012年1月 (3)
2011年12月 (10)
2011年11月 (6)
2011年10月 (9)
2011年9月 (4)
2011年8月 (5)
2011年7月 (10)
2011年6月 (2)
2011年5月 (4)
2011年4月 (10)
2011年3月 (13)
2011年2月 (12)
2011年1月 (12)
2010年12月 (2)
2010年11月 (3)
2010年10月 (3)
2010年9月 (2)
2010年8月 (15)
2010年7月 (4)
2010年6月 (6)
2010年5月 (11)
2010年3月 (1)
2010年2月 (4)
2010年1月 (5)
2009年12月 (4)
2009年11月 (17)
2009年10月 (6)
2009年7月 (4)
2009年6月 (3)
2009年5月 (4)
2009年4月 (5)
2009年3月 (1)
2009年2月 (1)
2009年1月 (4)
2008年12月 (4)
2008年11月 (5)
2008年10月 (5)
2008年9月 (3)
2008年7月 (4)
2008年6月 (7)
2008年5月 (28)
2008年4月 (15)
2008年3月 (15)
2008年2月 (7)
2008年1月 (9)
2007年12月 (11)
2007年11月 (12)
2007年10月 (13)
2007年9月 (7)
2007年8月 (14)
2007年7月 (16)
2007年6月 (13)
2007年5月 (11)
2007年4月 (6)
2007年3月 (14)
2007年2月 (12)
2007年1月 (15)
2006年12月 (18)
2006年11月 (26)
2006年10月 (20)
2006年9月 (18)
2006年8月 (23)
2006年7月 (17)
2006年6月 (8)
2006年5月 (23)
2006年4月 (10)
2006年3月 (16)
2006年2月 (17)
2006年1月 (9)
2005年12月 (13)
2005年11月 (9)
2005年10月 (19)
2005年9月 (11)
2005年8月 (24)
2005年7月 (34)
2005年6月 (23)
2005年5月 (11)
2005年4月 (21)
2005年3月 (32)
2005年2月 (19)
2005年1月 (23)
2004年12月 (35)
2004年11月 (24)
2004年10月 (19)
2004年9月 (25)
2004年8月 (35)
2004年7月 (30)
2004年6月 (24)
2004年5月 (17)
2004年4月 (9)
2004年3月 (57)
2004年2月 (61)
2004年1月 (31)
相册
Imagination Festival 2007
TechED 2005
TechEd 2006
TechEd2007
广州沙龙活动
桌面
好书收藏
《.NET软件架构之美(英文影印版)》
经典文章
浪潮之巅
友情链接
真水无香
最新评论
阅读排行榜
评论排行榜
推荐排行榜