WCF服务方法在本地工作,但在发布时不工作

时间:2011-07-21 21:28:52

标签: wcf iis transactions

我的WCF服务中有一个使用事务的简单方法。

 [OperationBehavior(TransactionScopeRequired = true)]

该方法在IIS 7上本地工作,Windows 7完全正常。但是,当使用IIS 6部署到Windows 2003 Server R2时,该方法在使用WCF测试客户端时会失败。

  

无法调用该服务。可能的原因:服务离线或无法访问;客户端配置与代理不匹配;现有代理无效。有关更多详细信息,请参阅堆栈跟踪。您可以尝试通过启动新代理,还原到默认配置或刷新服务来恢复。

     

执行此方法调用的事务是异步中止的。   服务器堆栈跟踪:      在System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(消息回复,MessageFault错误,字符串操作,MessageVersion版本,FaultConverter faultConverter)      在System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime操作,ProxyRpc& rpc)      在System.ServiceModel.Channels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object [] ins,Object [] outs,TimeSpan timeout)      在System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,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 type)      at INumberGenerationService.GenerateNextNumber(String keyName)      在NumberGenerationServiceClient.GenerateNextNumber(String keyName)

如果我删除了transaction属性,则服务方法在远程服务器上运行正常。 IIS 6是否需要任何配置才能使WCF事务有效?会导致这种行为的原因是什么?

感谢。

0 个答案:

没有答案