网站不稳定,怎么回事?

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分钟吧,但一般停止操纵几分钟,常常不超过十分钟,就会出现这种错误!

真的头晕了好长时间,不知道问题到底在哪里!
那些大虾能给点建议....
谢谢....
...全文
502 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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)

62,243

社区成员

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

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

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

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