windows server 2008系统IIS发布的asp.net网站经常假死问题 30

经过测试,发现每天基本12点以后都会出现一到两次网站假死的问题,有时候上午也会出现。出现问题后访问不操作数据库的页面是正常的,但是有操作数据库的页面就一直处于假死,等待1... 经过测试,发现每天基本12点以后都会出现一到两次网站假死的问题,有时候上午也会出现。出现问题后访问不操作数据库的页面是正常的,但是有操作数据库的页面就一直处于假死,等待10-30分钟不定的时间会自动正常。另外出问题后只要回收服务器IIS上的应用程序池立马就正常了。
数据库是sql2005,服务器内存10G。为什么假死后只有访问数据库的页面假死,难道是数据库引起的吗,但有的地方运行的是同样的代码,但没出问题啊
求指教。。。
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏30(财富值+成长值)
枫叶朴璐
2015-03-30 · TA获得超过2606个赞
知道大有可为答主
回答量:7573
采纳率:0%
帮助的人:5923万
展开全部
我回答问题首先希望帮助到学习C#的后辈。

所以先分析原因。
你出现这个错误是因为你没有了解ASP.NET的工作原理。ASP.Net 和php,jsp ,asp等服务器语言一样 都是为了生成可供浏览器解析的页面,而可供浏览器解析的语言只有HTML。

1,如果你在aspx页面中插入一个asp:LinkButton 那么运行页面后 在浏览器中查看源代码你会发现这个标签实际被转为了一个<a>标签。
2,为什么你的写法不会转换呢?因为首先 传递给Literal1.Text 的值在asp.net中作为一段字符串被直接输出到浏览器中。那么你的写法到浏览器后源代码中仍然是一个asp:LinkButton 标签,而这个标签是无法被浏览器正确解析的。

解决办法:
知道了原因,那么如果非要按照你的写法去写,那么应该是这样的:
Literal1.Text = "<li>" + ((users)Session["users"]).Name.ToString() + "</li><li> </li><li><a ID='LinkButton1' onclick='LinkButton1_Click1'>注销</a></li><li> </li><li>信息修改</li><li> </li>";
但是当你修改完后发现点击注销按钮依然不能执行!为什么呢?
因为你的LinkButton1_Click1 事件并没有在asp.net中被解析为可供浏览器识别的js代码。

如何解决?

首先吐槽下你的写法实在另类, 但是依然可以实现。

在aspx页面中写一个asp:LinkButton按钮:
<asp:LinkButton ID='LinkButton2' runat='server' onclick='LinkButton1_Click1'>注销</asp:LinkButton>

运行页面,查看源代码 看看这个新加的注销按钮被解析为了什么html代码,大概如下
<a id="LinkButton2" onclick="xxxxx"></a>

将新加的linkbutton 设置不可见属性
<asp:LinkButton ID='LinkButton2' runat='server' visible="false" onclick='LinkButton1_Click1'>注销</asp:LinkButton>

重新修改后台代码
Literal1.Text = "<li>" + ((users)Session["users"]).Name.ToString() + "</li><li> </li><li><a ID='LinkButton1' onclick='xxxxx'>注销</a></li><li> </li><li>信息修改</li><li> </li>";
//也就是将标签的js事件绑定到那个隐藏的注销按钮事件上。
希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式