我有一份在 WCF POST 中使用的合同。在通话期间,我需要添加一个无法在签名中添加的额外参数,因为我遇到了消歧问题。
合同:
[OperationContract]
[WebInvoke(UriTemplate = "", Method = "POST")]
Y Create(Stream x);
[OperationContract]
[WebInvoke(UriTemplate = "?cmd=put", Method = "POST")]
Y Create2(Stream x);
我想要做的是改变WebOperationContext.Current.OutgoingRequest
添加这个参数,bool allowOverwrite
.
使其工作的唯一方法是添加标题,这不是一个愉快的选择。WebOperationContext.Current.OutgoingRequest.Headers.Add(...)
知道如何改进吗?
注意:我不能对合同进行重大更改,因为它主要是遗留代码。