I have a contract used in a WCF POST. During the call, I need to add an extra parameter that I cannot add in the signature, because I get disambiguation issues.
Contract:
[OperationContract]
[WebInvoke(UriTemplate = "", Method = "POST")]
Y Create(Stream x);
[OperationContract]
[WebInvoke(UriTemplate = "?cmd=put", Method = "POST")]
Y Create2(Stream x);
What I'm trying to do is to alter the WebOperationContext.Current.OutgoingRequest
to add this parameter, bool allowOverwrite
.
The only way to make it work was by adding a header, which is not a happy choice. WebOperationContext.Current.OutgoingRequest.Headers.Add(...)
Any idea how I can improve this?
Note: I cannot do major changes to the contract as it is mainly legacy code.