我有一个WCF网络服务,我遇到了一个奇怪的问题。
我们的一个供应商正在调用我们的一种方法,并声称向我们发送了3个好的参数。该方法所做的第一件事是将所有传入参数的值记录到我们的数据库中。当我查看记录的消息时,我看到只填充了2个参数。供应商声称这是因为该方法在发送第三个参数之前超时。我的印象是,如果方法超时,我们会看到一个异常,而不是完整执行带有一些缺失参数的Web方法。
供应商是对的吗?我们是否超时并且只使用到目前为止的参数执行方法?
谢谢!
答案 0 :(得分:2)
WCF是基于消息的,这意味着创建并发送了整个消息,您将无法获得部分参数列表,换句话说,在调用服务方法之前,参数将完全实现。回答没有代码的问题很难完全理解,但是如果他们认为参数是"超时"你的供应商显然不了解WCF的工作原理。
通过添加一些日志记录可以提供更好的服务,例如:
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.ServiceModel"
switchValue="Critical, Error, Verbose, Warning, Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="sdt"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "SdrConfigExample.e2e" />
</listeners>
</source>
</sources>
</system.diagnostics>
将此添加到WCF服务端的web / config,以查看任何错误以及WCF活动。但听起来你没有收到错误,听起来你没有通过参数。