我有一個Web服務,看起來是這樣的:C#WCF的Web API的問題發佈/把
[WebInvoke(UriTemplate = "/{userName}/?key={key}&machineName={machineName}", Method = "PUT")]
public HttpResponseMessage<SomeStuffPutResponse> PutSomeStuff(string userName, string key, string machineName, string theTextToPut)
{
// do stuff
}
我global.asx樣子:
RouteTable.Routes.MapServiceRoute<SomeStuffService>("1.0/SomeStuff", new HttpHostConfiguration());
當我打通過C#HttpClient的web服務或提琴手投擲500,甚至沒有得到我的方法。我加了一堆的日誌記錄和正在以下錯誤:
The service operation 'PutSomeStuff' expected a value assignable to type 'String' for input parameter 'requestMessage' but received a value of type 'HttpRequestMessage`1'.
UPDATE:如果我讓theTextToPut變量的自定義對象,它工作正常。它只是給我的問題,如果它是一個像字符串的原始類型。
如何指定我希望該字符串位於請求正文中而不是URI。 –