Azure 应用程序服务和Webjob之间的共享锁

Azure 应用程序服务和Webjob之间的共享锁,azure,azure-web-app-service,azure-webjobs,Azure,Azure Web App Service,Azure Webjobs,我想在Webjob和应用程序服务代码之间有一个共享锁。我在C#中尝试了锁定关键字和互斥,但它们似乎不起作用。我可以想到的另一种替代方法是Blob-lease,它也是用于在webjobs环境中进行锁定的锁定机制 azure webjobs是否在与应用程序服务完全分离的环境中运行,导致共享锁无法工作,或者我是否遗漏了什么?还有其他方法吗?Web作业在单独的进程中运行,因此C#中的锁将无法工作 blob上的租约是创建分布式锁的一种方法。这里有一篇文章可以为您指出正确的方向:Web作业在单独的进程中运行

我想在Webjob和应用程序服务代码之间有一个共享锁。我在C#中尝试了锁定关键字和互斥,但它们似乎不起作用。我可以想到的另一种替代方法是Blob-lease,它也是用于在webjobs环境中进行锁定的锁定机制


azure webjobs是否在与应用程序服务完全分离的环境中运行,导致共享锁无法工作,或者我是否遗漏了什么?还有其他方法吗?

Web作业在单独的进程中运行,因此C#中的
锁将无法工作


blob上的租约是创建分布式锁的一种方法。这里有一篇文章可以为您指出正确的方向:

Web作业在单独的进程中运行,因此C#中的
锁将不起作用


blob上的租约是创建分布式锁的一种方法。这里有一篇文章可以为您指出正确的方向:

谢谢您的回答。互斥是进程间的。在这种情况下不应该这样吗?嗯,事实上是这样的。这些应该可以工作,但是,它们不会跨应用程序服务实例工作。Blob租约锁定也可以在那里工作。webjobs是否在与应用程序服务不同的虚拟机上运行?正如我所读到的,互斥在操作系统级别上运行,因此只在系统上有效。不,WebJobs将在相同的VM上运行,只要它们在相同的应用程序服务计划中。我提到的情况是,你的应用服务计划中有多个实例(VM),所以互斥不能跨越这个边界。明白了。非常感谢@juunas。谢谢你的回答。互斥是进程间的。在这种情况下不应该这样吗?嗯,事实上是这样的。这些应该可以工作,但是,它们不会跨应用程序服务实例工作。Blob租约锁定也可以在那里工作。webjobs是否在与应用程序服务不同的虚拟机上运行?正如我所读到的,互斥在操作系统级别上运行,因此只在系统上有效。不,WebJobs将在相同的VM上运行,只要它们在相同的应用程序服务计划中。我提到的情况是,你的应用服务计划中有多个实例(VM),所以互斥不能跨越这个边界。明白了。非常感谢朱纳斯。