Azure中的单并发模式WCF服务

Azure中的单并发模式WCF服务,wcf,azure,concurrency,Wcf,Azure,Concurrency,如果我将WCF ServiceBehavior设置为ConcurrencyMode=Single,并将其作为具有2个虚拟机的工作角色托管在Azure云服务上,那么该服务将是每个虚拟机单一还是所有虚拟机单一 了解这一点很重要,因为my DB的标识int与PK相同,如果发生并发,这将是一个严重的问题:复制的DB可能使用相同的增量键,据我所知,这会导致违反表上的主键。。将ConcurrencyMode设置为Single只意味着您的服务是单线程的(这是默认设置)。不过,您仍然可能最终得到多个实例。你要找

如果我将WCF ServiceBehavior设置为ConcurrencyMode=Single,并将其作为具有2个虚拟机的工作角色托管在Azure云服务上,那么该服务将是每个虚拟机单一还是所有虚拟机单一


了解这一点很重要,因为my DB的标识int与PK相同,如果发生并发,这将是一个严重的问题:复制的DB可能使用相同的增量键,据我所知,这会导致违反表上的主键。

。将ConcurrencyMode设置为Single只意味着您的服务是单线程的(这是默认设置)。不过,您仍然可能最终得到多个实例。你要找的是把它设为单身。这将为您提供每个VM的单例行为。但是,如果您有2个Worker Roles/VM运行此服务,您将有2个WCF服务实例在运行(每个VM上一个)


如果您的体系结构只需要一个WCF服务实例来串行处理消息,那么您需要将Worker Role count设置为1或更改消息模式。

感谢您给出的澄清答案!