WCF JSON Post操作

WCF JSON Post操作,json,wcf,rest,Json,Wcf,Rest,我需要创建一个后WCF操作。我需要用户传入几个参数。我看到的所有示例都假设用户只发送一个参数。我怎样才能做到这一点?客户端发送的url不是很长吗 [OperationContract] [WebInvoke(Method = "POST", UriTemplate = "changeStatus/{ID}/{userID}/{activityDate}/{locationID}/{attachmentID}/{descriptionID}", RequestFor

我需要创建一个后WCF操作。我需要用户传入几个参数。我看到的所有示例都假设用户只发送一个参数。我怎样才能做到这一点?客户端发送的url不是很长吗

        [OperationContract]
        [WebInvoke(Method = "POST", UriTemplate = "changeStatus/{ID}/{userID}/{activityDate}/{locationID}/{attachmentID}/{descriptionID}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        void ChangeStatus(Guid ID, Guid userID, DateTime activityDate, Guid locationID, Guid attachmentID = default(Guid), Guid descriptionID = default(Guid));

您可以设置ChangeStatus方法以接收KeyValuePair类型的数组,然后您可以循环遍历该数组并获得所需的值。当我需要发送一个或两个以上的参数时,这通常是我构建web服务的方式


如果客户机正在进行POST以调用您的服务,那么数据可以作为对象传递,而不是在查询字符串中传递,但是如果数据是通过查询字符串发送的,那么url可能会很长

将其封装到单个POCO类中,这应该足够简单。由于这是一个post操作,您可以将URL作为changeStatus,而无需任何查询字符串。如果我没有在URITemplate中提供参数,用户如何传入POCO类?每个Http post都有一个消息体,您可以通过消息体传递POCO对象。