Skip to main content
 首页 » 编程设计

c#之跟踪Web应用程序中单例进程的进程

2024年01月13日39xxx_UU

当我点击运行按钮时(在我的 Default.aspx 中),一个进程启动(这个进程联系一个网络服务来获取一些文件等)。我如何:

  1. 确保一次只有一个进程在运行(即,如果我刷新浏览器,我不想再次启动该进程)

  2. 跟踪进度 - 我想跟踪流程的 4 个点(在 25%、50%、75%、100%),当每个部分完成时,我想更新进度条。我有一个运行进程的状态对象,但问题是如何自动更新进度条?

  3. 是否需要使用线程来实现以上两个?

请您参考如下方法:

以相反的顺序回答它们:

  1. 是的。你应该有一个对象来封装你的线程。

  2. 您的对象可以有一个公共(public)成员,其中包含流程的完成百分比。您可以定期对此进行轮询。您从 HTML 页面执行此操作的方式可能是 AJAX 请求,以使您的进度条最流畅。

  3. 您需要进行一些线程同步。也许通过互斥量。 Here's a good example of how to do this (向下滚动到 Mutex)。