하나는 트랜잭션이내 WCF 서비스 작업의
[OperationBehavior(TransactionScopeRequired = true)]
public Car UpdateCar(Car c)
{
}
이전, 내가 PerCall으로 InstanceContextMode이 서비스를 실행중인 enabled-이 가능 및 들면, ConcurrencyMode 여러으로하는 저를 얻고 있었다 아래의 오류 -
처리되지 않은 'System.InvalidOperationException'형식의 예외가하여 System.ServiceModel.dll 에서 추가 정보를 발생 다음 'InventoryManager'서비스가 재로 구성되어 있습니다 leaseServiceInstanceOnTransactionComplete가 true로 설정되었지만 ConcurrencyMode가 Single로 설정되지 않았습니다. ReleaseServiceInstanceOnTransactionComplete에는 ConcurrencyMode.Single을 사용해야합니다.
위의 오류를 해결하기 위해 'ReleaseServiceInstanceOnTransactionComplete'를 false로 설정하고 트릭을 수행했습니다. 이 문제를 해결 'PerCall'과 '다중'의 경우와 서비스 인스턴스를 배치하는 방법
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall
, ConcurrencyMode = ConcurrencyMode.Multiple
, ReleaseServiceInstanceOnTransactionComplete = false)]
은 도와주세요 사람이 이해 할 수 있습니다. 서비스 인스턴스를 해제하면 WCF가 생각하는 문제는 무엇입니까?