title: WCF restful service: How to send long string parameters in POST requests?
body: <p>I have this kind of method in my resful wcf service:
  ServiceContract-</p>
  
  <pre><code>[OperationContract]
  [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json,
          BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "CreateTask?t={token}&amp;title={title}&amp;aun={assigneeUsername}&amp;inst={instructions}&amp;tnum={taskNumber}&amp;pr={priority}&amp;ud={userData}")]
  Stream CreateTask(string token, string title, string assigneeUsername, string instructions, string taskNumber,
                          string priority, string userData);
  </code></pre>
  
  <p>Service class:</p>
  
  <pre><code>public Stream CreateTask(string token, string title, string assigneeUsername, string instructions, string taskNumber,
                          string priority, string userData)
  {...}
  </code></pre>
  
  <p>Some parameters can be very long strings (~5000) and I don't want them to be part of the query string, maybe to send some of them as FormUrlEncodedContent.</p>
  
  <p>How can I send some of the paramets as part of the URL and the others as content/ in the body?
  Can my operation contract look somthing like that?:</p>
  
  <pre><code>[OperationContract]
  [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json,
          BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "CreateTask?t={token}")]
  Stream CreateTask(string token, string title, string assigneeUsername, string instructions, string taskNumber,
                          string priority, string userData);
  </code></pre>
  
  <p>How should my client code looks like?</p>