从asp.net执行控制台应用程序

本文关键字:控制台 应用程序 执行 net asp | 更新日期: 2023-09-27 18:14:13

我知道我可以做一个Process.Start从web应用程序执行控制台应用程序,但我想对如何正确设计这个项目的想法。

通过身份验证的用户可以提交需要执行控制台应用程序的请求,该应用程序执行一些后端工作(可能需要也可能不需要很长时间),并且控制台应用程序的结果需要显示给用户。

Process.Start执行控制台应用程序在同一个线程作为asp.net进程?如果是这样,这会"锁定"用户的浏览器吗?我是否应该异步执行此操作?如果有,如何推荐?如何从控制台应用程序获得结果?

此外,这种方法是否可以扩展到数百个用户提交请求?

还有回复吗?

从asp.net执行控制台应用程序

Process.Start为非阻塞呼叫。您可以使用Process对象并处理它的事件并从它的流中读取或写入。

如果它是可扩展的,你可能需要很多强大的服务器。这取决于实际的过程

常见的解决方案是使用一个数据库表来存储后台操作队列。因此,当用户提交请求时,将向队列表添加一条新记录。控制台应用程序定期运行(例如使用Cron调度),检查数据库中的队列表,在后台执行任务并将结果写入数据库。