C# WCF RESTful调用出现意外的头错误

C# WCF RESTful调用出现意外的头错误,c#,wcf,rest,C#,Wcf,Rest,当C#客户机和服务器通过WCF执行RESTful调用时,客户机跟踪会暴露此错误: “信封版本”信封一(http://schemas.microsoft.com/ws/2005/05/envelope/none)'不支持添加邮件标题。' 完整堆栈跟踪是: System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Envelope Ver

当C#客户机和服务器通过WCF执行RESTful调用时,客户机跟踪会暴露此错误:

“信封版本”信封一(http://schemas.microsoft.com/ws/2005/05/envelope/none)'不支持添加邮件标题。'

完整堆栈跟踪是:

System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Envelope Version 'EnvelopeNone (http://schemas.microsoft.com/ws/2005/05/envelope/none)' does not support adding Message Headers.

at System.ServiceModel.Channels.MessageHeaders.ValidateHeaderKind(HeaderKind headerKind)
at System.ServiceModel.Channels.MessageHeaders.GetHeaderKind(MessageHeaderInfo headerInfo)
at System.ServiceModel.Channels.MessageHeaders.Insert(Int32 headerIndex, MessageHeader header)
at System.ServiceModel.Channels.MessageHeaders.Add(MessageHeader header)
at Microsoft.VisualStudio.Diagnostics.ServiceModelSink.DiagosticsMessage.AddHeader(String scheme, Boolean enableHttpHeaderUsage, Message message, Byte[] networkBuffer)
at Microsoft.VisualStudio.Diagnostics.ServiceModelSink.EnabledClientEventSink.BeforeSendMessage(Int32 eventingLevel, Message request, IClientChannel channel, ClientRuntime runtime, Boolean fCallback, Boolean fSupportAsmx)
at Microsoft.VisualStudio.Diagnostics.ServiceModelSink.StubClientEventSink.System.ServiceModel.Dispatcher.IClientMessageInspector.BeforeSendRequest(Message& request, IClientChannel channel)
at System.ServiceModel.Dispatcher.ImmutableClientRuntime.BeforeSendRequest(ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.PrepareCall(ProxyOperationRuntime operation, Boolean oneway, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Fact.Apprentice.WorkflowServer.IWorkflowEngineBase.Dequeue(Int32 wfid, Int32 mqid)
at Fact.Apprentice.WorkflowTools.WorkflowProxyManager.ProcessCallback(Object state, Boolean timedOut)
at System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context(Object state, Boolean timedOut)
at System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context_t(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(Object state, Boolean timedOut)
据我所知,我没有添加任何标题。似乎某种.NET诊断过程正在添加自己的

我的理解是,在过去,没有使用MessageHeaders.Add进行基于REST的头操作。这是WCF诊断领域的错误/配置吗?我应该在哪里解决这个问题


额外:有趣的是,即使有这个错误,WCF REST调用也可以工作。然而,最终超时会使整个过程停止。但无法说明超时是否与此相关。

Fact.peedient内容是我自己的代码。Dequeue表示我的WCF服务的客户端代理。我会检查系统日志中的线程异常,好主意,我也会检查我的工作流引擎,因为我向您保证这是一个接口。我认为自动生成的代理魔法正在那里显现出来。