gpt4 book ai didi

jquery - 多个ajax请求非常慢的mvc

转载 作者:行者123 更新时间:2023-12-01 01:14:24 25 4
gpt4 key购买 nike

我有一个 ASP MVC4 应用程序,它加载小部件的仪表板。每个小部件都会向服务器执行异步 ajax 回调,并返回部分内容。

由于某种原因,这些小部件需要大约 50 秒才能将内容替换为部分内容。 ajax 请求是即时的,在数据​​库端执行数据库查询也是即时的。大多数时候这工作正常,但我认为这可能与网站的高使用率有关。

任何人都可以推荐我可以做的任何事情来调试此问题或确定瓶颈可能是什么?

$.ajax({
cache: true,
type: 'post',
async: true,
url: '/Overview/GetBillingWidget/',
success: function (result3) {

if (result3 == '') {
$('.widget-billing-container').replaceWith('');
} else {
$('.widget-billing').html(result3);
}

},
error: function () {

}

});
$.ajax({
cache: true,
type: 'post',
async: true,
url: '/Overview/GetQueryWidget/',
success: function (result3) {

if (result3 == '') {
$('.widget-myquery-container').replaceWith('');
} else {
$('.widget-myquery').html(result3);
}

},
error: function () {

}

});

最佳答案

我在类似的仪表板之类的应用程序中遇到了同样的问题,正如评论所暗示的, session 锁定问题。默认情况下,当调用 Controller 操作时, session 将被锁定,直到它存在为止,因此发生这种情况时传入的任何调用都必须等待,直到它被释放。

但是,通过一些智能编码,您可以完全避免 session 变量,最好是通过在数据库中存储和读取数据。如果您的 Controller 仅读取 session 变量(或根本不使用它们),您可以在 Controller 类的顶部添加此属性:

[SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)]

这应该可以解决您在对 Controller 进行并行 ajax 调用时可能遇到的许多锁定问题。

关于jquery - 多个ajax请求非常慢的mvc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29110868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com