C# ASPX加载页
所以我正在学习在Visual Studio 2013上开发.aspx网站,想知道是否有办法在执行可执行文件时创建加载屏幕 这个想法是用户按下一个生成按钮,它运行可执行文件并显示另一个页面/弹出窗口等,该页面将有一个加载图像和一些文本,直到可执行文件完成。然后我希望它重定向到另一个页面 实现这一目标的最佳方式是什么C# ASPX加载页,c#,asp.net,C#,Asp.net,所以我正在学习在Visual Studio 2013上开发.aspx网站,想知道是否有办法在执行可执行文件时创建加载屏幕 这个想法是用户按下一个生成按钮,它运行可执行文件并显示另一个页面/弹出窗口等,该页面将有一个加载图像和一些文本,直到可执行文件完成。然后我希望它重定向到另一个页面 实现这一目标的最佳方式是什么 代码示例总是一个加号!从高层角度感谢: 用户向您的web应用程序发出请求以开始该过程,我假定您要运行的是命令行.exe,并等待结果 请求处理程序将生成一个新线程,然后启动新进程并等待进
代码示例总是一个加号!从高层角度感谢: 用户向您的web应用程序发出请求以开始该过程,我假定您要运行的是命令行.exe,并等待结果 请求处理程序将生成一个新线程,然后启动新进程并等待进程结束。您的代码将为该线程/进程分配一个任意标记,并将其存储在某个位置。当进程完成时,子线程将更新存储以表示进程已完成。 然后,请求处理程序立即向用户返回一个响应,通知他们进程当前正在运行 即时响应页面将包含一个JavaScript或脚本,该脚本或脚本会导致页面每隔10秒左右重新加载自身,或向服务器发出Comet请求,以接收子进程已完成的通知。 当请求处理程序再次收到请求时,它将在步骤2中执行的存储中查找该请求,并查看其是否已完成,如果已完成,则它将返回相同的“请等待自动刷新”响应,否则它将在流程完成时返回所需的下一页。 大概是这样的:
// 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);
}
}
这个问题问得太宽泛了。这不是一个鼓励向他人索取代码示例的网站;相反,我们鼓励您提供您尝试过的和您遇到困难的示例。底线是,没有人会为你编写程序,但是如果你陷入困境,很多人会帮助你。谢谢你的帮助。。。