WCF PUT请求的正确格式是什么

本文关键字:格式 是什么 PUT 请求 WCF | 更新日期: 2023-09-27 18:37:15

我正在努力以预期的格式向 WCF 发送 PUT 请求。 我以为我可以像带有 QueryString 的 GET 一样发送它,但这只会回击错误。

    //Put operation
    [OperationContract]
    [WebInvoke(UriTemplate = "?tid={transcriptId}&qId={quizId}&cid={choice}&mid={mbox}&status={status}", Method = "PUT", RequestFormat=WebMessageFormat.Json)]
    vTranscript UpdateTranscript(string transcriptId, string quizId, string choice, string mbox, string status);

我还尝试使用 CURL 作为 XML 和 JSON 文件发送,但服务未从这些文件中提取这些文件中的值(值为 null)。

[DataContract]
public class vTranscript
{
    [DataMember]
    public bool validUser;
    [DataMember]
    public bool correctAnswer;
    [DataMember]
    public bool recorded;
  }

我假设我的 vTranscript 不必与我传入的参数匹配,尽管我什至尝试过。

不确定我做错了什么。 任何建议将不胜感激。 谢谢。

WCF PUT请求的正确格式是什么

尝试按如下方式设置车身样式。

 [WebInvoke(Method = "PUT", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]

假设所有参数都已发布,您只需要以下内容:(请注意,发布的名称必须与方法参数名称匹配)

//Put operation
[OperationContract]
[WebInvoke(Method = "PUT", RequestFormat=WebMessageFormat.Json)]
vTranscript UpdateTranscript(string transcriptId, string quizId, string choice, string mbox, string status);

UriTemplate用于定义嵌入在URL本身中的参数。