ASP.NET长期运行的Ajax请求.页面响应
当我的页面加载时,我需要立即在页面的一个用户控件中启动数据拉取,以便填充在该用户控件的网格中显示的一些搜索结果.拉取这些搜索结果的查询可能需要相当长的时间(8-10秒).
我的目标是使Ajax请求只更新包含用户控件的页面部分,以便用户可以自由地与页面上的其他元素交互,而昂贵的用户控件自己加载它自己的数据. 在我当前的方法中,当加载该控件时,用户无法与页面上的任何元素进行交互.当他们点击页面上其他位置的按钮时,在长时间运行的ajax请求完成之前,不会达到按钮单击的回发的Page_Load().似乎其他Ajax请求在长期运行的请求之后排队等待. 这是我的方法(用于Ajax的Telerik控件): 我有一个RadAjaxPanel有一个隐藏按钮,将导致Ajax回发.页面加载时,通过Javascript单击此按钮.在按钮的单击处理程序中,有代码将用户控件加载到ContentPlaceHolderControl并加载控件的数据 <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="LoadingPanel1"> <asp:PlaceHolder runat="server" ID="PlaceHolderControl"> <!-- user control loaded here --> <telerik:RadButton ID="btnRADAjax" runat="server" Style="visibility: hidden;"></telerik:RadButton> </asp:PlaceHolder> 调用按钮执行Ajax PostBack的Javascript: function DoAjaxPostBack() { var interval = setInterval(function() { if(document.readyState === 'complete') { var argmnt=''; var ajaxManager = $find("<%=RadAjaxManager.GetCurrent(Page).ClientID %>"); ajaxManager.ajaxRequestWithTarget('<%= btnRADAjax.UniqueID %>',argmnt); clearInterval(interval); } },100) } 在页面上: If Not IsPostBack Then RadScriptManager.RegisterStartupScript(Page,Page.GetType(),"1","DoAjaxPostBack('');",True) End If 这是一个合理的方法,并且没有办法让Ajax请求互相阻塞吗?或者是否有另一种方法可以让长时间运行的请求在它自己的世界中单独运行,而不会干扰它所依赖的页面的响应性?我正在考虑尝试IFrame. 谢谢! 解决方法
我不知道RadAjaxPanel是如何工作的,但我认为你正在使用ASP.NET的Session Lock系统.
默认情况下,您无法在ASP.NET中使用同一会话运行两个并发请求. 您可以尝试调整页面的EnableSessionState属性以禁用锁定. 有关更多信息,请参阅此帖子: I just discovered why all ASP.Net websites are slow,and I am trying to work out what to do about it (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC MultiSelectList,其中所选值未
- asp.net – Linq to SQL Design的问题
- asp.net – ASP MVC – 扭转一个foreach
- Asp.net下使用Jquery Ajax传送和接收DataTable的代码
- asp.net-mvc-2 – 覆盖“Html.EditorFor”上的类
- 从asp.net代码后面读表单认证cookie
- asp.net – 访问网站根目录时,FormsAuthentication重定向到
- asp.net – sql server报告服务和其他报告工具之间有什么区
- asp.net – 如何绑定DropDownList的选定值
- asp.net – 如何在Umbraco中创建自定义aspx页面?
- asp.net-mvc-4 – IIS 7.5上的ASP.NET MVC 4,返回
- 具有依赖关系的并行操作执行
- asp.net – “localhost”上运行网站是非常慢
- asp.net-mvc – MVC表单LoginUrl不正确
- asp.net-mvc – 字段必须是数字 如何将此消息更改
- asp.net-mvc – 获取视图名称,其中ViewResult.Vi
- .net – 在WebApi中,我应该在哪里调用ActionFilt
- asp.net-mvc – ASP.NET MVC是否有任何DateTime路
- asp.net-mvc – ErrorAttribute vs OnException与
- asp.net-mvc – ASP.NET MVC主页数据