RestSharp 中的错误请求?

Bad request in RestSharp?

在我的 MyServices 项目中,我在 TestService.svc 中有服务。

    [OperationContract]
    [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "/GenerateMetadata/{FacilityID}")]
    public List<dynamic> GenerateMetadata(string FacilityID)
    {

然后在代码中向它发送一个请求。我有:

  [TestMethod]
    public void MetadataServiceShouldReturnExpected()
    {
        var client = new RestClient("http://localhost/MyServices/TestService.svc/");

        var request = new RestRequest("GenerateMetadata/{FacilityID}", Method.POST);
        request.AddUrlSegment("FacilityID", "888");
        var response = client.Execute(request);

然而,当我将鼠标悬停在响应内容上时,我发现。

The server encountered an error processing the request. The exception message is 'User Not Authorized for This Action'. See server logs for more details.

IIS 日志没有足够的信息。就像:

     `2015-04-17 19:13:52 ::1 POST /MyServices/TestService.svc/GenerateMetadata/163 - 80 - ::1 RestSharp/105.0.1.0 400 0 0 391`

请帮忙。

好像缺少body参数

如果设置了这个参数,它的值将作为请求的body发送。只有一个 RequestBody 参数被接受——第一个。

参数名称将用作请求的 Content-Type header。

RequestBody 不适用于 GET 或 HEAD 请求,因为它们实际上并不发送 body。

如果您也有 GetOrPost 参数,它们将覆盖 RequestBody – RestSharp 不会合并它们,而是会丢弃 RequestBody 参数。