C# 无法为GET调用发送具有此谓词类型的内容正文
我使用了C# 无法为GET调用发送具有此谓词类型的内容正文,c#,wcf,rest,httpclient,C#,Wcf,Rest,Httpclient,我使用了System.ServiceModel.Channels.MessageExtensionMethods中的扩展方法ToHttpRequestMessage() 我使用上面链接中的扩展方法从Message创建了一个HttpRequestMessage。然后我使用这个HttpRequestMessage通过HttpClient发送,但是我得到了以下异常 无法发送具有此谓词类型的内容正文 这是否意味着我不能使用扩展方法,或者我必须为GET调用执行任何特定的操作,例如不设置内容正文?当您发
System.ServiceModel.Channels.MessageExtensionMethods中的扩展方法ToHttpRequestMessage()
我使用上面链接中的扩展方法从Message
创建了一个HttpRequestMessage
。然后我使用这个HttpRequestMessage
通过HttpClient
发送,但是我得到了以下异常
无法发送具有此谓词类型的内容正文
这是否意味着我不能使用扩展方法,或者我必须为GET
调用执行任何特定的操作,例如不设置内容正文?当您发出GET
时,您不能拥有内容正文是否还有其他标题,我应该确保它们不是GET调用的一部分。另外,还要确保此限制仅适用于GET调用,而不是其他HTTP动词GET
用于检索/获取数据-因此,内容正文没有任何意义。同样的情况也适用于DELETE
。当您希望向服务发送数据时,可以使用内容正文,例如在POST
、PUT
或PATCH
情况下。您需要阅读一篇介绍HTTP动词是什么、它们的意思以及它们可能有哪些选项/限制的文章。更多关于这里的方法:不禁止在GET请求中发送内容体。还有一些应用程序使用它,比如ElasticSearch。这只是MS试图提供帮助但却把事情搞砸的另一个例子。当您发出一个GET
时,您不能有一个内容主体。还有任何其他标题,我应该确保它们不是GET调用的一部分。另外,还要确保此限制仅适用于GET调用,而不是其他HTTP动词GET
用于检索/获取数据-因此,内容正文没有任何意义。同样的情况也适用于DELETE
。当您希望向服务发送数据时,可以使用内容正文,例如在POST
、PUT
或PATCH
情况下。您需要阅读一篇介绍HTTP动词是什么、它们的意思以及它们可能有哪些选项/限制的文章。更多关于这里的方法:不禁止在GET请求中发送内容体。还有一些应用程序使用它,比如ElasticSearch。这只是MS试图提供帮助但却把事情搞砸的另一个例子。