复制 MultipartFormDataContent 或按值传递/使用 MultipartFormDataContent 发送多个请求
Copy MultipartFormDataContent or pass it by value / Multiple send request with MultipartFormDataContent
我试图连续 2 次发送带有 MultipartFormDataContent 的 post 请求。
第一次它工作正常。但是下一次编译器说我 MultipartFormDataContent 变量已经处理好了。
Tlg Tlg = new Tlg("MyToken");
MultipartFormDataContent options = new MultipartFormDataContent();
options.Add(new StringContent("MyChatId"), "chat_id");
options.Add(new StringContent("Hello!"), "text");
Console.WriteLine(Tlg.Send("sendMessage", options: options).Result);//ОК
Console.WriteLine(Tlg.Send("sendMessage", options: options).Result);//Fails
Tlg.Send 只是通过 httpClient.PostAsync 发送带有 MultipartFormDataContent 变量(选项)的请求。
如何以最少的开销实现MultipartFormDataContent变量的多次使用?
对不起我的英语
解决方法:
我只是将 JObject 参数传递给函数,然后在每次调用函数时创建新的 MultipartFormDataContent。
MultipartFormDataContent o = new MultipartFormDataContent();
if(options != null)
{
foreach (JProperty x in (JToken)options)
{
o.Add(new StringContent((string)x.Value), x.Name);
}
}
如果是 StreamContent 或其他,我将添加 StreamContent。
我试图连续 2 次发送带有 MultipartFormDataContent 的 post 请求。 第一次它工作正常。但是下一次编译器说我 MultipartFormDataContent 变量已经处理好了。
Tlg Tlg = new Tlg("MyToken");
MultipartFormDataContent options = new MultipartFormDataContent();
options.Add(new StringContent("MyChatId"), "chat_id");
options.Add(new StringContent("Hello!"), "text");
Console.WriteLine(Tlg.Send("sendMessage", options: options).Result);//ОК
Console.WriteLine(Tlg.Send("sendMessage", options: options).Result);//Fails
Tlg.Send 只是通过 httpClient.PostAsync 发送带有 MultipartFormDataContent 变量(选项)的请求。
如何以最少的开销实现MultipartFormDataContent变量的多次使用?
对不起我的英语
解决方法: 我只是将 JObject 参数传递给函数,然后在每次调用函数时创建新的 MultipartFormDataContent。
MultipartFormDataContent o = new MultipartFormDataContent();
if(options != null)
{
foreach (JProperty x in (JToken)options)
{
o.Add(new StringContent((string)x.Value), x.Name);
}
}
如果是 StreamContent 或其他,我将添加 StreamContent。