Почему поведение службы "releaseserviceinstanceontransactioncomplete = false" требуется при включенном режиме "concurrencymode. multiple" для транзакций
В одной из моих операций Службы WCF включена транзакция-
[OperationBehavior(TransactionScopeRequired = true)] public Car UpdateCar(Car c) { }
Ранее я запускал эту службу с InstanceContextMode как PerCall и ConcurrencyMode как Multiple, что приводило меня к следующей ошибке-
Необработанное исключение типа ' System.InvalidOperationException ' произошло в системе.ServiceModel.dll дополнительная информация: служба InventoryManager настроена так, что ReleaseServiceInstanceOnTransactioncomplete имеет значение true, но ConcurrencyMode не имеет значения Single. ReleaseServiceInstanceOnTransactioncomplete требует использования ConcurrencyMode.Одиночный.
Что я уже пробовал:
Чтобы решить вышеприведенную ошибку, я установил 'ReleaseServiceInstanceOnTransactioncomplete' в false, и это сделало свое дело.
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall , ConcurrencyMode = ConcurrencyMode.Multiple , ReleaseServiceInstanceOnTransactionComplete = false)]
Может ли кто-нибудь помочь понять, как удаление экземпляра службы с помощью "Перколла" и "множественного" случая решило эту проблему. В чем проблема WCF думает, если я выпущу экземпляр службы?