我们的设置快速概述: - 用于前端的MVC Web应用程序,它将REST请求发送到MVC Web API。
这一切都很有效,但是,我们现在已经介绍了AngularJS,以允许我们使用与javascript的2路数据绑定。
这是一个非常好的框架,我们已经开始使用ajax $ http请求。
所以, 在angular中,我们使用$ http来调用调用REST WEB API的MVC控制器,返回数据,在控制器中序列化为JSON并发送到angularJS请求以进行2路数据绑定。
我们遇到的这个问题是,我们现在一次发出多个HTTP请求,但是,每个请求似乎都在等待之前的请求已经完成,我们正在努力找出原因? 我们期望所有请求彼此独立,这样就不会有延迟或等待时间......
如果有人可以提供任何建议,我们将不胜感激
ps - 我希望一切都有意义
下面的角度代码: -
$scope.LoadResults();
$scope.GetHistory();
$scope.GetUserDetails();
$scope.GetHistory = function () {
$http.post('/user/GetHistory/', $scope.data).success(function (data, status, headers, config) {
});
}
$scope.GetUserDetails= function () {
$http.post('/user/GetUserDetails/1234', $scope.data).success(function (data, status, headers, config) {
});
}
$scope.LoadResults = function () {
$scope.data = {
frequency: $scope.frequency,
direction: $scope.direction,
view: $scope.view
};
var userid = $('#id').val();
var url = '/user/' + userid + '/GetUserResults/';
$http.post(url, $scope.data).success(function (data, status, headers, config) {
if (data.msg != '') {
$scope.resultssummarydata = data.aaData;
}
else {
$scope.errors.push(data.error);
}
});
}
答案 0 :(得分:3)
请注意,如果Patko想要将此作为答案添加,他应该得到荣誉,因为他是真正想出来的人(我只提供了关闭会议的方法)。 < / p>
尝试将此更改(或添加)到您的web.config以关闭会话:
<sessionState mode="Off" />
。
ASP.Net中的会话实现非常奇怪。如果多个http请求来自同一个浏览器/用户会话,则会将它们序列化并一次处理一个。除此之外,会话实现效率非常低 - 整个会话被加载到每个请求的内存中。
多年来对ASP.Net Session的实施提出了相当广泛的批评 - 有一点谷歌搜索将允许你阅读它。