首页 新闻 会员 周边

asp.net阻塞问题?神一样的问题

0
悬赏园豆:20 [已解决问题] 解决于 2014-04-14 18:46

在自已现有项目中新建两个asp.net webform页面, 两上页面各放一个按钮。

在新建的Solution中前一个页面不会阻塞后一个页面,但一放到我的项目中,页面2会被页面1阻塞,已经注释了web.config, Global.asax, App_Code中所有代码,即不会有httphandler,httpmodle,但仍然会出现阻塞。

神一样的问题,我都快崩溃了。

两个页面的cs及按钮单击代码如下:

namespace WebApplication1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
           

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Thread.Sleep(20000);
            this.Title = DateTime.Now.ToString();
        }
    }
}
namespace WebApplication1
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            this.Title = DateTime.Now.ToString();
        }
    }
}
空明流光的主页 空明流光 | 初学一级 | 园豆:106
提问于:2014-04-14 11:52
< >
分享
最佳答案
0

请问,你如何得出页面1和页面2相互阻塞的?

收获园豆:10
Launcher | 高人七级 |园豆:45045 | 2014-04-14 13:04

分别在浏览器中打开两个页面,先单击页面1的按钮,然后再单击页面2的按钮,页面2的时间要等到页面1请求完成后再能出来,也就是页面2也等待很长时间(一般在页面1请求完成后或相隔1秒)才能出来。

空明流光 | 园豆:106 (初学一级) | 2014-04-14 13:54

@沧海一杰: 你打开两个浏览器的实例,在浏览器实例 1 中打开页面 1,然后在浏览器实例 2 中打开页面 2。

Launcher | 园豆:45045 (高人七级) | 2014-04-14 13:55

@沧海一杰: 关键的问题是同样的代码放到新建的项目中,没有问题。只有放到我已有的项目中才会出现这种问题。代码如此简单,也不牵扯什么继承问题,怎么会有这样的结果呢?

空明流光 | 园豆:106 (初学一级) | 2014-04-14 13:57

@Launcher: 好像还是不对,改了Global仍然有问题.

空明流光 | 园豆:106 (初学一级) | 2014-04-14 16:42

@沧海一杰: 新建一个 ASP.NET 空 Web 应用程序,然后添加 WebForm1.aspx 和 WebForm2.aspx 两个页面,然后按照你的代码添加 Button,并输入代码,在浏览器中打开WebForm1.aspx 和 WebForm2.aspx,先点击 WebForm1.aspx 中的 BUTTON,页面阻塞等待服务器返回,现在切换到 WebForm2.aspx 的 Tab ,然后点击 BUTTON,请求立即返回。

 

所以,没有你遇到的问题,你的问题应该不是你描述的那么简单,但是你缺乏相应的知识致使你只能这么简单的描述你的问题。

Launcher | 园豆:45045 (高人七级) | 2014-04-14 16:57

@Launcher: 我想可能是这个问题,但又不太确定:

Re: A request to a long-running handler blocks all requests to other pages 

I'll bet you're using Session state in your app, right?

When requests come in, Session holds an exclusive lock so that other requests from the same session will not run in parallel and must run one after the other.

http://forums.asp.net/t/1798041.aspx?A+request+to+a+long+running+handler+blocks+all+requests+to+other+pages

空明流光 | 园豆:106 (初学一级) | 2014-04-14 18:42

@Launcher: 我开了一个IE,一个firefox同时访问就不会产生阻塞了,我想应该就是上面描述的那个问题了。

空明流光 | 园豆:106 (初学一级) | 2014-04-14 18:45
其他回答(1)
0

打开两个不同的浏览器。

收获园豆:10
Rookier | 园豆:652 (小虾三级) | 2014-04-14 17:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册