C# 使用restsharp-put方法更新AtTask中的项目参数

C# 使用restsharp-put方法更新AtTask中的项目参数,c#,put,restsharp,attask,C#,Put,Restsharp,Attask,我在与阿塔斯克的项目中有点挣扎。 我的目标是使用自定义表单数据更新项目的路线值。。 我已经能够创建新的对齐值进行更新,但我无法使用put方法执行它。。。 我要执行的请求是 PUT /attask/api/project/4c7...?updates= { alignmentValues: [ { scoreCardOptionID: "2222...54d0", scoreCardQuestionID : "8897

我在与阿塔斯克的项目中有点挣扎。 我的目标是使用自定义表单数据更新项目的路线值。。 我已经能够创建新的对齐值进行更新,但我无法使用put方法执行它。。。 我要执行的请求是

PUT /attask/api/project/4c7...?updates= 
{
    alignmentValues: [ 
        { 
            scoreCardOptionID: "2222...54d0", 
            scoreCardQuestionID : "8897...54d1",... 
        },....
                     ] 
}
我的代码片段是

var request = new RestRequest("project/{id}", Method.PUT);
request.AddUrlSegment("id", pid);
request.RequestFormat = DataFormat.Json;
JObject _putData = new JObject();
_putData.Add("alignmentValues",newAnswers);
对于对象更新,我尝试了几种组合

request.AddParameter("updates",_putData,ParameterType.RequestBody); //no effect
request.AddBody(new {name = "updates", value = _putData}); //no effect
用这种方法,我甚至无法更新项目的名称。 但是,当我将参数作为查询字符串提供时,它成功地更新了名称,但由于url变得太大,对齐值失败

var request = new RestRequest("project/{id}?updates=" + _putData , Method.PUT);
如果_putData很小,比如name=“TEST”,上面的方法就可以工作。但是对于大的json数组,上面的方法就失败了

关于如何使用addbody/addobject/addjsonobject/addparameter更新值的任何建议…因为我需要在body中发送请求,因为它的大小很大


提前谢谢。

这不是一个答案,但我侥幸做到了。。 所以主要的问题仍然存在..我不能将body与PUT请求一起使用..即使我使用它也不会显示任何结果..所以我只能使用查询字符串。。。 现在,为了解决查询字符串中的大参数问题,我发送了整个alignmentvalues对象,其中我只需更新该对象中的两个字段。
因此,在一种反复试验的方法中,我只在对象中传递了三个字段-答案ID和两个要更新的字段…它减少了查询字符串的大小,幸运的是它起了作用。

我还使用fiddler查看请求…如果参数作为querystring传递,则请求有效…但是如果相同的参数以相同的格式传递,则请求有效都是通过身体发送的,然后什么都没有发生。。。有人面临或面临类似的问题吗?