所以我正在学习在Visual Studios 2013上开发.aspx网站,并想知道是否有办法创建一个"加载屏幕"我执行了一个可执行文件?
这个想法是用户按下一个生成按钮,它运行可执行文件并显示另一个页面/弹出窗口/等。在可执行文件完成之前,它将有一个加载图像和一些文本。然后我希望它重定向到另一个页面。
这是实现这一目标的最好方法吗?
代码示例总是有利的!感谢
答案 0 :(得分:0)
从高层来看:
.exe
并等待结果)<meta http-equiv="refresh" />
,它会导致页面每10秒左右重新加载一次,或者启动Comet请求到服务器以接收子进程完成的通知。 这样的事情:
// Note these fields are static so they persist between page-loads
private static Dictionary<Int32,Boolean> _processes = new Dictionary<Int32,Boolean>();
private static Int32 _processNum;
ActionResult StartBackgroundTask() {
Int32 num = _processNum++;
_processes.Add( num, false );
Thread thread = new Thread( delegate() {
Process proc = new Process("MyExe.exe");
proc.Start();
proc.WaitForExit();
_processes[ num ] = true; // marking as complete
} );
thread.Start();
return View("BackgroundTaskIsRunning.aspx", num);
}
ActionResult GetBackgroundTaskState(Int32 num) {
// Token `num` received from client.
if( _processes[ num ] ) {
return View("NextTask.aspx");
} else {
// Same view as before
return View("BackgroundTaskIsRunning.aspx", num);
}
}