У меня есть простой метод в моей службе WCF, который использует транзакцию.
[OperationBehavior(TransactionScopeRequired = true)]
Метод отлично работает локально на IIS 7 с Windows 7. Однако при развертывании на Windows 2003 Server R2 с IIS 6 метод завершается ошибкой при использовании тестового клиента WCF.
Не удалось вызвать службу. Возможные причины: служба недоступна или недоступна; конфигурация на стороне клиента не соответствует прокси; существующий прокси-сервер недействителен. Обратитесь к трассировке стека для более подробной информации. Вы можете попытаться выполнить восстановление, запустив новый прокси-сервер, восстановив конфигурацию по умолчанию или обновив службу.
Транзакция, в которой выполнялся этот вызов метода, была прервана асинхронно.
Трассировка стека сервера:
в System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood (ответ на сообщение, ошибка MessageFault, строковое действие, версия MessageVersion, FaultConverter faultConverter)
в System.ServiceModel.Channels.ServiceChannel.HandleReply (операция ProxyOperationRuntime, ProxyRpc & rpc)
в System.ServiceModel.Channels.ServiceChannel.Call (строковое действие, логический односторонний режим, операция ProxyOperationRuntime, Object [] ins, Object [] outs, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (метод IMethodCallMessageCall, операция ProxyOperationRuntime)
в System.ServiceModel.Channels.ServiceChannelProxy.Invoke (сообщение IMessage)
Исключение переброшено в [0]:
в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData & msgData, тип Int32)
в INumberGenerationService.GenerateNextNumber (String keyName)
at NumberGenerationServiceClient.GenerateNextNumber (String keyName)
Если я удаляю атрибут транзакции, метод обслуживания отлично работает на удаленном сервере. Нужна ли IIS 6 какая-либо конфигурация для работы транзакций WCF? Что будет вызывать это поведение?
Спасибо.