我有一个按钮,当你点击它时它运行ajax向控制器发送id现在控制器做了一些事情,在服务器端没有错误,,但在控制器中的操作中,我有restsharp的代码发送请求休息web服务的工作也很好(),但这部分()在foreach中,并运行5或。。。时间当我这样做的时候,ajax有时会花费很长时间,并且运行ajax代码的错误部分我该怎么办?
ajax代码:
$(document).on("click", "#btn-submit", function () {
$.ajax({
type: 'POST',
url: '/Panel/CheckRefOrderCode',
data: JSON.stringify({
factorrefid: $("#ref-check").val()
}),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (result) {
if (result.DntSuccess) {
} else {
}
},
error: function () {
}
});
});
动作码
foreach(string s in str)
{
var client = new RestClient("http://**.com/api/v1/orders/status?support_code=71GD4A");
var request = new RestRequest(Method.POST);
request.AddHeader("token", "15befa43");
IRestResponse response = client.Execute(request);
RefOrderJsonViewModel.RefOrderJson reforderbackJson =
JsonConvert.DeserializeObject<RefOrderJsonViewModel.RefOrderJson>(response.Content);
if (reforderbackJson.status.ToLower() == "ok")
{
performed += reforderbackJson.data.performed;
order_status += reforderbackJson.data.order_status + "^";
}
}
我把它添加到web.config 中
<httpRuntime executionTimeout="100000000" maxRequestLength="262144" />
为ajax调用添加超时:
$(document).on("click", "#btn-submit", function () {
$.ajax({
type: 'POST',
url: '/Panel/CheckRefOrderCode',
data: JSON.stringify({
factorrefid: $("#ref-check").val()
}),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
**timeout: 10000 // sets timeout to 10 seconds**
success: function (result) {
if (result.DntSuccess) {
} else {
}
},
error: function () {
}
});
});
看看这篇关于如何处理超时错误的文章。
问题仍然存在;
但是我用这个
Parallel.ForEach(myEnumerable, obj =>
{
// ...
});
而不是常规
前臂
并平行做前臂的身体,并且时间在减少,解决的问题