【我崩溃了】各种崩溃合集,郁闷时必看
前言
有一些问题现象会让人很崩溃,尤其是在脑筋转不动的时候,搞得不知所措,以下记录那曾经的崩溃。
页面加载很慢,将近4分钟才能加载完
- 问题现象
访问 login.aspx 以及其他所有页面,需要加载近4分钟,页面才能显示 - 问题分析
访问服务器的远程桌面,速度很快,所以排除服务器本身网速问题;
通过远程桌面,在服务器本地查询数据库,速度很快,所以排除数据库问题;
通过远程桌面,在服务器本地打开页面,加载还是很慢,所以问题定位在 asp.net 程序本身;
通过 Chrome,查看加载页面时,各个组件的加载情况,发现有一个 css 文件加载了近4分钟。 - 问题原因
由于国内网络特色,造成以下的 css 文件加载无限超时:
<link href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800|Shadows+Into+Light" rel="stylesheet" type="text/css">
- 解决方法
删除或者注释上述 css。
页面一片空白,Validator 控件惹的祸
- 问题现象
页面一片空白,未出现任何错误信息。 - 问题分析
通过部分删除 aspx 标记,页面可显示内容,所以原因定位在 aspx 文件中。 - 问题原因
RequiredFieldValidator 属性 ControlToValidate 指向的控件 ID 不存在,并且 Display 属性被设为 none。
页面显示异常:不能把数据库 A 视图的 B 字段设为 Guid 类型,因为 B 是 int 类型
- 问题现象
见标题 - 问题分析
通过 Management Studio,A 视图能够正常查询,并且 B 字段是 int 类型,数据库结构是正确的;
通过查看 Entity Framework 生成的 A 类,B 属性也是 int 类型,实体结构是正确的;
郁闷之余,看了一下 A 视图查询出来的数据,发现 B 字段里面的数据居然都是 Guid,数据错了。 - 问题原因
之前在 A 视图引用的一张表中添加了一个字段,添加的位置是在第3列,而 B 字段是在第4列,
添加之后造成 A 视图查询结果错位了,B 字段显示的数据变成了新增字段的数据;
为什么会错位呢?因为视图里面脑残的写了 SELECT Table1.*,这种写法是相当危险的,
变更字段后,视图必须重新生成。 - 问题总结
视图中尽量不要使用 SELECT Table1.* 这种写法。
posted on 2013-10-13 17:37 CsharpStyle 阅读(167) 评论(0) 编辑 收藏 举报