0

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

        [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));
4

1 回答 1

0

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

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

于 2013-05-03T15:53:58.963 回答