asp.net开发之“未将对象引用到实例”
来源:互联网 发布:招商总监 知乎 编辑:程序博客网 时间:2024/05/24 02:54
相信几乎所有学过ASP.NET的朋友都遇到过这个问题:未将对象引用设置到对象的实例。下面,就来看一下到底都有哪些原因会造成这个问题的出现和解决方法
一、数据库方面
1、ViewState 对象为Null。
2、DateSet 空。
3、sql语句或Datebase的原因导致DataReader空。
4、声明字符串变量时未赋空值就应用变量。
5、未用new初始化对象。
6、Session对象为空。
7、对控件赋文本值时,值不存在。
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。
9、使用FindControl时,控件不存在却没有做预处理。
10、重复定义造成未将对象引用设置到对象的实例错误.
二、应用程序方面
(1)所设置的变量为空值或没有取到值,一般出现在传递参数的时候出现这个问题,也会在使用DataGrid或gridview或datalist等数据控件时出现.
(2)控件名称与codebehind里面的没有对应
(3)未用new初始化对象
(4)在程序中所引用的控件不存在
解决方法:
(1)使用try..catch...finally捕捉错误,或直接用response.write()输出所取的变量值
(2)查看代码中是否存在未初始化的变量
三、数据库连接
SqlConnection.Open 未将对象引用设置到对象的实例
在使用VS2015开发 ASP.NET程序时候 有时候操作 SqlConnection对象的Open()方法时候会出现
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
。。。。
conn.Open();
......
跟踪调试也肯定可以确定 对conn进行new 操作 但是程序经常在这个地方报错,但是有时候重启服务器或者重启IIS有能正常使用了。 怎么调试也找不到问题 那么这个时候可能是你本机上安装的.NET FRAMEEWORK 框架有问题,可能没有没有安装SP1.1补丁
需要打NETFRAMEEWORK1.1 SP1的补丁,到微软官方网站下载安装后就好了。
四、一般出现NullReferenceException异常的情况:
1、对象所在的命名空间没有引用
2、对象没有实例化
3、出现异常,实例化失败对象为 null
五、IIS 扛不住的时候,也会出现上面的错误。
当应用程序的用户访问量超过它能承受的范围之后,就会出错。
改善你的程序,使用缓存,尽量减少与数据库交互的次数。
六、查看是否重置了DataSet引用
请大家好好查查自己的代码,是不是在其他地方重新引用了,在DataSet被设置成全局对象也会出现这种错误提示。
七、最后
甚至,仅仅因为网站里面DAL的dll文件失效,业务层实例化不了IDAL里面的对象也会出错。
当你发现所有的方法不行时,打上.netframework的补丁
总结
暂时就这么多了吧,虽然错误的表现形式大致相同,但是其原因却是五花八门,学习就要像中医一样,治标更要治本,学习要知其然还要知其所以然。
- asp.net开发之“未将对象引用到实例”
- asp.net经典问题之“未将对象引用设置到对象的实例”
- asp.net经典问题之“未将对象引用设置到对象的实例”
- asp.net经典问题之“未将对象引用设置到对象的实例”
- ASP.NET关于"未将对象引用设置到对象的实例"异常的原因
- ASP.NET关于"未将对象引用设置到对象的实例"异常的原因
- asp.net 未将对象引用设置到对象的实例
- asp.net异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例
- asp.net为gridview绑定数据时出错“未将对象设置引用到对象实例”
- asp.net报错:“System.NullReferenceException: 未将对象引用设置到对象的实例”
- asp.net出现“未将对象引用设置到对象的实例”
- ASP.NET在.ashx文件中使用session出异常,未将对象引用到对象的实例。
- ASP.Net的AccessDataSource设置错误"未将对象引用设置到对象的实例"的解决方案
- 未将对象引用到实例
- 未将对象引用到实例原因
- Session 未将对象引用到实例
- 未将对象引用到实例
- 在asp.net中下载文件时出现不明的未将对象引用到实例的异常
- Lua 变量
- #7 Links
- Unity print 与Debug.Log 的区别
- Hibernate Validator
- socket编程(十四)
- asp.net开发之“未将对象引用到实例”
- Ubuntu 14.04 更换阿里云源
- TypeError: __init__() got an unexpected keyword argument 'syntax'
- 线上学习问题答疑
- 大文本文件中找词频最高的10个词
- 算法--微软面试:整数的二进制表示中1的个数(Java实现)
- 软件测试复习
- 如何做网页版的COGNOS报表
- 网易2017秋招编程题