【发布时间】:2017-01-04 14:48:28
【问题描述】:
我的 resful wcf 服务中有这种方法: 服务合约-
[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "CreateTask?t={token}&title={title}&aun={assigneeUsername}&inst={instructions}&tnum={taskNumber}&pr={priority}&ud={userData}")]
Stream CreateTask(string token, string title, string assigneeUsername, string instructions, string taskNumber,
string priority, string userData);
服务类:
public Stream CreateTask(string token, string title, string assigneeUsername, string instructions, string taskNumber,
string priority, string userData)
{...}
有些参数可能是很长的字符串(~5000),我不希望它们成为查询字符串的一部分,可能会将其中一些作为 FormUrlEncodedContent 发送。
如何将一些参数作为 URL 的一部分发送,而将其他参数作为内容 / 在正文中发送? 我的运营合同可以看起来像这样吗?:
[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);
我的客户端代码应该是什么样子的?
【问题讨论】: