网站不稳定,怎么回事?

asimplefire 2009-03-05 04:20:10
我们公司的网站,现在新增了一个在线订购的功能,不知道为什么,在商品一览表翻页的时候,常常在翻到第五页出现如下错误!
Server Error in '/' Application.
--------------------------------------------------------------------------------
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:
Line 33: </HeaderTemplate>
Line 34: <ItemTemplate>
Line 35: <div id="TableBody"><div style="width:60px;margin-left:10px"><%#Eval("GoodsID")%></div><div style="width:100px;margin-left:20px"><%#Eval("GoodsName")%></div><div style="width:60px;margin-left:18px"><%#CategoryID_NameSwitch(Convert.ToInt32(Eval("GoodsCategory")))%></div><div style="width:60px;margin-left:20px"><%#Eval("GoodsVipPrice")%></div><div style="width:60px;margin-left:20px"><%#Eval("GoodsOriginalPrice")%></div><div style="width:60px;margin-left:20px"><%#Convert.ToDateTime(Eval("GoodsUpTime")).ToString("yyy-MM-dd")%></div><div style="width:135px;margin-left:20px"><a href='#' onclick='goodsOrder(<%#Eval("GoodsSN") %>,<%#Eval("GoodsID")%>)'>订购</a>     <a href='goodDetails.aspx?GID=<%#Eval("GoodsSN")%>'>查看详细信息>></a></div></div>
Line 36: </ItemTemplate>
Line 37: </asp:DataList>
这个错误,看像来是因为实例对象为空,没有成功从数据库读取数据.
可是网站若在本地服务或是VS里运行的话,一切都正常,就是传到服务器里就会出现这种问题(无论测试还是正式运行,数据库都是连接外网虚拟主机里的数据库).
真的搞不懂为什么!

/////////////////////////////////////////////////////////////////////////////////////////////////
另外,还有当用户登录后,选购商品后,不作操纵,等个十分钟左右,再来操纵时就会出现如下错误!
Server Error in '/' Application.
--------------------------------------------------------------------------------

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
这个错误,看起来好象是session超时吧!
可是session默认是20分钟吧,但一般停止操纵几分钟,常常不超过十分钟,就会出现这种错误!

真的头晕了好长时间,不知道问题到底在哪里!
那些大虾能给点建议....
谢谢....
...全文
493 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
灵猪谁仰 2011-09-23
  • 打赏
  • 举报
回复
MARK
datahandler2 2009-03-08
  • 打赏
  • 举报
回复
<%#Convert.ToDateTime(Eval("GoodsUpTime")).ToString("yyy-MM-dd")%>
这个也很有可能会出现异常状况,
除了Session外。
春天的气息 2009-03-08
  • 打赏
  • 举报
回复
通过catch( Exception ex )输出一些异常吧,这类问题是个综合性的,

有多方面的原因,很不好确定是那个种。不过有下几种可能性很大。

1、数据库操作频繁,以致于数据传值延迟,就会出现没实例化。

2、session过期,无法获取值。

3、session被更改,得不到预期设计的值。

4、webservice负荷过重,或循环过多,占用资源过多,没有及时回收内存。

。。。。。。。。。。


欢迎加入我的程序设计QQ群80532706哟


处理办法就是要做容错处理,找出真正原因。

Roc_Lee 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 asimplefire 的帖子:]
我们公司的网站,现在新增了一个在线订购的功能,不知道为什么,在商品一览表翻页的时候,常常在翻到第五页出现如下错误!
Server Error in '/' Application.
--------------------------------------------------------------------------------
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the …
[/Quote]

楼主,重要的是
Stack Trace:

的信息,贴出来就揭开谜底了。
jfd198512 2009-03-06
  • 打赏
  • 举报
回复
ding
hongmaohouzi 2009-03-06
  • 打赏
  • 举报
回复
还是获取一下异常信息吧,估计是有代码的问题!
zorou_fatal 2009-03-06
  • 打赏
  • 举报
回复
你的服务器装的是啥杀毒软件?

这种情况下,如果业务紧急,可以先把session扔到sql server里。然后再慢慢找原因。
asimplefire 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 sunshine_anycall 的回复:]
从和数据库取数据处开始记录全部异常,直到最后在页面跳转到异常页面
[/Quote]
懇請這位老兄指明.....
asimplefire 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 Roc_Lee 的回复:]
引用楼主 asimplefire 的帖子:
我们公司的网站,现在新增了一个在线订购的功能,不知道为什么,在商品一览表翻页的时候,常常在翻到第五页出现如下错误!
Server Error in '/' Application.
--------------------------------------------------------------------------------
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current w…
[/Quote]
如果分析呢?
无爱大叔 2009-03-05
  • 打赏
  • 举报
回复
在这个页面加一个iframe,每隔几分钟刷新一下,session就不会过期了。
iframe宽高都设成0,包含一个每隔几分钟刷新一下的页面
sunshine_anycall 2009-03-05
  • 打赏
  • 举报
回复
从和数据库取数据处开始记录全部异常,直到最后在页面跳转到异常页面
asimplefire 2009-03-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 camelials 的回复:]
引用 9 楼 asimplefire 的回复:
引用 5 楼 vlysses 的回复:
有第6页吗?如果有,那是第5页绑定的数据与控件结合有问题,要是没有,考虑一下翻页代码

当然有了,有几十页呢!在本地机器上测试是正常的,但是在服务器上就出现问题!
我是用存储过程分页的:

SQL code
create proc proc_GetAllGoodsBySplit
@PageSize int, ---每页显示的记录数
@CurrPage int, ---当前显示的页
@PageCount int out, --总页数
@To…
[/Quote]
那,这位仁兄,能否推荐一个效率比较高的分页存储过程呢?
wangxiaofeiwuqiao 2009-03-05
  • 打赏
  • 举报
回复
mark
BossFriday 2009-03-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 asimplefire 的回复:]
引用 5 楼 vlysses 的回复:
有第6页吗?如果有,那是第5页绑定的数据与控件结合有问题,要是没有,考虑一下翻页代码

当然有了,有几十页呢!在本地机器上测试是正常的,但是在服务器上就出现问题!
我是用存储过程分页的:

SQL code
create proc proc_GetAllGoodsBySplit
@PageSize int, ---每页显示的记录数
@CurrPage int, ---当前显示的页
@PageCount int out, --总页数
@TotalCount int out,--总记录数
@G…
[/Quote]
此存储过程不好!用了临时表!
尝试:
1.换一个分页存储过程.(查一查,这个太多了!可能你需要修改它的参数,以保证对你现在程序的兼容.)
2.修改分页存储过程中的select
比如:select ... from table
改为:
select .. from table with(nolock)
asimplefire 2009-03-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 vlysses 的回复:]
有第6页吗?如果有,那是第5页绑定的数据与控件结合有问题,要是没有,考虑一下翻页代码
[/Quote]
当然有了,有几十页呢!在本地机器上测试是正常的,但是在服务器上就出现问题!
我是用存储过程分页的:

create proc proc_GetAllGoodsBySplit
@PageSize int, ---每页显示的记录数
@CurrPage int, ---当前显示的页
@PageCount int out, --总页数
@TotalCount int out,--总记录数
@GoodsCategory int
as
select @TotalCount=count(*) from Goods where GoodsCategory=@GoodsCategory
if(@TotalCount%@Pagesize=0)
set @Pagecount=@TotalCount/@Pagesize
else
set @Pagecount=@TotalCount/@Pagesize+1
select * into #tempdbt from Goods where GoodsCategory=@GoodsCategory order by GoodsUpTime desc
declare @SqlStr varchar(200)
set @SqlStr='select top '+cast(@pagesize as varchar)+'* from #tempdbt '
set @SqlStr=@sqlstr+'where GoodsSN not in(select top '+cast(@PageSize*(@currpage-1) as varchar)+' GoodsSN from #tempdbt) '
print @sqlstr
execute (@sqlstr)

GO

这个存储过程运行是正常的.
yytt123622 2009-03-05
  • 打赏
  • 举报
回复
帮顶!看别人说session就是不稳定,可是我也不知道为什么不稳定!我赞同2楼的,虽然超时自动退出这方法可以避免用户看到错误的网页,但是还是应该找找为什么session的有效时间异常!密切关注
zccmy22 2009-03-05
  • 打赏
  • 举报
回复
接收参数时,建议,把 request[""].Tostring() 改一下,改成,Request[""] + "";这样就算post数据消失,或get数据消息,都不会出错。

至于你上面的第一个问题。在你取数据时的数据对像那加一个判断。看看是否已经取出数。

如果是dataset 可以用 dataset.rows.count > 0 之类的过滤掉。这样页面就不会取为空的对像,还去取数据库了。具体问题无法看出来,建议不要这样写代码,太烦了。改成页面代码分开模式,那样便于排错,和开发。
浮生若梦丶 2009-03-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dabaicai11 的回复:]
超时自动退出登录返回默认页
[/Quote]
up
vlysses 2009-03-05
  • 打赏
  • 举报
回复
有第6页吗?如果有,那是第5页绑定的数据与控件结合有问题,要是没有,考虑一下翻页代码
zzxap 2009-03-05
  • 打赏
  • 举报
回复
看看你的sql语句?
加载更多回复(3)
  大家好,我是录制课程的老师,课程已经上线课堂,欢迎大家试听,感谢同学们的支持。在你们的学习中我会全力助你提升MySQL技能,助你冲击更高年薪。支持课程答疑,支持一对一答疑服务,由课程老师直接回答。    MySQL凭借着它不错的性能、不错的稳定性、数据的安全性常年稳居行业老二宝座。    越来越多的DBA和后端同学在工作中少不了和MySQL打交道,也经常会产生这样的疑问:    为什么我写的sql语句性能这么低?  为什么明明我建了索引却没有用到索引?  为什么突然我的数据就成了乱码?  为什么我备份的文件在主库恢复,数据无法同步到从库?  为什么我的数据库数据不多,却占了很多的空间?  生产中我应该选择哪种隔离级别?  生产中都在使用innodb存储引擎,我却对它一无所知?  我应该怎么规划缓冲池才能让数据库性能更高?  为什么我做表数据迁移这么慢?  为什么我写的sql会造成那么多的锁冲突、死锁?  为什么我不能将数据恢复到任意时间点?  为什么我不能解决公司主从复制架构中的故障?  吧啦吧啦一大堆问题……    在面试中MySQL的一些知识更成为躲不过的问题,比如b+tree索引、MVCC、隔离级别的实现、锁的使用,主从复制,MySQL性能优化、事务两阶段提交等等都成为了面试考题重灾区。    我的课程就是从实际工作来,从问题出发,带着问题来学习MySQL,想解决问题就要学习新的知识,大家跟紧老司机,MySQL的面纱就会慢慢摘下。

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧