我有一个通过 ASP.NET MVC 3 公开的 JSON 服务。该服务作为控制器上的操作公开。我可以成功调用该操作。但是,有时,该操作需要很长时间才能完成。因此,我的调用者由于超时而失败。我的问题是,如何更改 ASP.NET MVC 3 中的超时阈值。
问问题
3104 次
2 回答
3
如果你需要做一些你知道可能需要一点时间的任务,使用 AsyncControllers 会很好,你可以在动作之间设置不同的超时
例如
[AsyncTimeout(3000)] //timeout in miliseconds
public void DoTaskAsync(){
//something that takes a long time
AsyncManager.Parameters["result"] = contentresult; //Contentresult is your data result of process
}
public ActionResult DoTaskCompleted(String result){
return json(result);
}
http://msdn.microsoft.com/en-us/library/ee728598.aspx#Y4400了解详情...
除此以外...HttpContext.Server.ScriptTimeout = 3000;
于 2012-06-06T19:58:45.523 回答
0
这取决于什么是超时。如果只是服务器响应,我相信您可以在控制器本身中设置它(以秒为单位):
HttpContext.Server.ScriptTimeout = XXX;
如果它类似于会话或身份验证超时,您将需要扩展这些值。
于 2012-06-06T19:40:19.137 回答