我有一个ASP.NET页面,其中有几个静态方法,在代码旁边用[WebMethod]
装饰,然后使用PageMethods.MyMethodName(myParameter, myOnCompleteHandler, myOnErrorHander);
从javascript调用。
其中一个方法被多次调用,由于调用量很大,运行时可能很长。目前,该方法运行正常,但需要> 5分钟才能完成的调用超时。我想把这个跨度增加到10分钟。
我试过了:
ScriptManager.AsyncPostBackTimeout = 600;
Server.ScriptTimeout = 600;
this.Page.AsyncTimeout = new TimeSpan(0,10,0);
Sys.Net.WebRequestManager.set_defaultTimeout(600000);
在javascript中答案 0 :(得分:2)
将以下行添加到system.web部分的web.config中。
<httpRuntime executionTimeout="3600" maxRequestLength="2147483647" />
迟到的回应,但也许这会对下一个人有所帮助。
答案 1 :(得分:1)
正确的答案是here,因为AJAX超时是由脚本管理器控制而不是http执行超时。
您需要掌握scriptmanager控件(在代码或标记中),并根据需要将AsyncPostBackTimeout属性设置为合适的值。
import ij.IJ;
import ij.ImagePlus;
import ij.io.FileSaver;
import ij.plugin.PlugIn;
public class Test implements PlugIn {
public static void main(String[] args) {
Test test = new Test();
test.run("Denoise.ijm");
}
@Override
public void run(String arg0) {
String directory = "C:\\Users\\Speedy Octopus\\Desktop\\10Cover Shots\\10.JPG";
ImagePlus imp = IJ.openImage(directory);
FileSaver fileSaver = new FileSaver(imp);
System.setProperty("plugins.dir", "C:\\Users\\Speedy Octopus\\Downloads\\ij150-win-java8\\ImageJ\\plugins");
IJ.run(imp, "Non-local Means Denoising", "sigma=5 smoothing_factor=1");
fileSaver.saveAsJpeg("C:\\Users\\Speedy Octopus\\Desktop\\10Cover Shots\\10edited.JPG");
}
}