gpt4 book ai didi

c# - asp.net如何区分服务器端的并发进度条请求

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:46 25 4
gpt4 key购买 nike

我实现了进度条,以便在后台处理视频时向用户显示完成状态。它在单个实例上运行良好。但是当两个并发视频进程开始时就把它弄混了。

当两个不同的用户同时启动两个视频进程时,两个用户将看到混合的进度状态,有时来自视频进程 1,有时来自另一个。

服务器端的视频进程使用静态变量启动。

public static MediaHandler _mhandler = new MediaHandler();

进度指示通过以下方式发送到页面

[WebMethod]
public static string GetProgressStatus()
{
return Math.Round(_mhandler.vinfo.ProcessingCompleted, 2).ToString();
}

进度条每隔几秒发送一次进度请求。

现在我的问题是如何设置一次只能针对一个实例的 mediahandler 对象。

例如进度条01仅显示视频进程01的状态

进度条02只显示视频进程02的状态

最佳答案

我建议您为每个新的编码请求生成一个 Guid,它将在编码的整个生命周期中使用。我还建议 MediaHandler 不是静态的,并且你的 new() 为每个编码任务增加一个。 GetProgressStatus() 现在应该有一个 Guid 参数,以便您可以查询每个编码的进度。

您将需要持久性(数据库、静态列表、MSMQ...等)来跟踪您的 MediaHandler 实例和/或当前处理编码的进度(如果它是连续完成的)。

关于c# - asp.net如何区分服务器端的并发进度条请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11522178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com