Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将后台处理迁移到Hangfire_C#_.net_Azure Web Roles_Azure Worker Roles_Hangfire - Fatal编程技术网

C# 将后台处理迁移到Hangfire

C# 将后台处理迁移到Hangfire,c#,.net,azure-web-roles,azure-worker-roles,hangfire,C#,.net,Azure Web Roles,Azure Worker Roles,Hangfire,我有一个web应用程序,它由1个web角色和1个worker角色实例组成。webrole基本上聚集了blob存储上的一些blob,工作人员来清理存储的文件并对其进行处理 问题是,如果我使用2个工作者角色实例,可能会有一些重复的结果,因为只有在成功处理时才能删除blob。为了避免这种情况,我决定使用Hangfire 我计划做的是,当web角色收到请求时,它不仅会将文件保存到blob存储中,还会将该文件的处理任务排队。然后Hangfire工作线程将处理它 这引发了另一个问题:我应该在哪里部署hang

我有一个web应用程序,它由1个web角色和1个worker角色实例组成。webrole基本上聚集了blob存储上的一些blob,工作人员来清理存储的文件并对其进行处理

问题是,如果我使用2个工作者角色实例,可能会有一些重复的结果,因为只有在成功处理时才能删除blob。为了避免这种情况,我决定使用Hangfire

我计划做的是,当web角色收到请求时,它不仅会将文件保存到blob存储中,还会将该文件的处理任务排队。然后Hangfire工作线程将处理它

这引发了另一个问题:我应该在哪里部署hangfire

如果我将hangfire部署到web角色实例上,我将能够访问UI,因为它有IIS,但我无法将用于后台处理的资源与web角色本身隔离开来。如果我将其部署到工作者角色实例上,它将无法为UI提供服务,因为没有IIS

有没有办法让web角色实例触发任务,但让worker实例查找并使用它们?如果是,怎么做