近日没事儿帮朋友写个小东西,为了图快且照应对方是微软用户,特地使用了多年不用的asp.net , 连mvc都没使用,直接webform;

结果今天碰上个小麻烦,在访问某页面时出现了如下的错误:

 

 
本来以为挺简单的,于是检查了一下没有发现循环,但始终报错,且报错是在页面加载完成后出现的;使用断点调试,所有代码都成功执行,直到页面上的<%%>标签也都执行完了;
 
 
然后1秒钟左右,出现Stackoverflow错误;
 
后来怀疑是数据量大,然而将数据库读取的代码去掉,直接new 5000个对象到页面,不报错;
百思不得其解,后来发现new的对象属性set 值不全,于是逐属性设置注释,直到定位到此属性:发现当isVirtual==1时,就必然报错;
 
 
然后怀疑是asp.net缓冲区太小,无法缓存如此多的字符造成的,而且的确当对象数量很少时,不会出错,调整iis express缓冲大小,虽然管用,但仍然时有报错;
 
感觉快崩溃了,于是又认认真真的检查了N遍,最终发现了这个问题:
 
 
 
欲哭无泪,折腾了2个小时;改正确之后,问题解决;
写出来,希望有同样问题的朋友能快速找到这个解决办法;
----------供搜索
“System.StackOverflowException”类型的未经处理的异常在 mscorlib.dll 中发生 ,System.web.dll
 

 

posted on 2016-04-29 18:15  叶青青青  阅读(404)  评论(0编辑  收藏  举报