VSTO C# Outlook 通过 POST 发送文件,Outlook 在上传完成之前没有响应
VSTO C# Outlook send files via POST, Outlook get no response till upload is done
我的 VSTO 插件从 Outlook 发送 - 文件和数据到 API。我的问题是当我上传例如大约 10 MB 的文件时,Outlook 获取状态 No response
直到上传完成。
添加 ProgressBar 时 - 因为它也是 outlook 冻结的一部分。
我的问题是,有人遇到同样的问题并解决了吗?或者是否可以在 VSTO Outlook 插件中添加 WPF
进度条?
感谢提示
更新@Dmitry Streblechenko
来自电子邮件的附件存储在本地并通过 RestClient 发送:
var client2 = new RestClient("https://my.web.com/api/upload");
client2.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddParameter("id", RiD);
request.AddFile("file_path", @"C:\attachment\attachment.zip");
IRestResponse response = client2.Execute(request);
Console.WriteLine(response.Content);
如何在副线程中发送?
谢谢
这个解决方案对我有帮助:
var thread = new Thread(() =>
{
Thread.Sleep(3000);
var client2 = new RestClient("https://my.web.com/api/upload");
client2.Timeout = 5000;
var request = new RestRequest(Method.POST);
request.AddParameter("id", RiD);
request.AddFile("file_path", @"C:\attachment\attachment.zip");
IRestResponse response = client2.Execute(request);
Console.WriteLine(response.Content);
});
thread.Start();
thread.IsBackground = true;
注意:Thread.Sleep(3000);
是因为主线程 - 压缩电子邮件中的所有附件,所以我需要慢速第二个威胁来等待压缩
感谢@Dmitry Streblechenko
我的 VSTO 插件从 Outlook 发送 - 文件和数据到 API。我的问题是当我上传例如大约 10 MB 的文件时,Outlook 获取状态 No response
直到上传完成。
添加 ProgressBar 时 - 因为它也是 outlook 冻结的一部分。
我的问题是,有人遇到同样的问题并解决了吗?或者是否可以在 VSTO Outlook 插件中添加 WPF
进度条?
感谢提示
更新@Dmitry Streblechenko
来自电子邮件的附件存储在本地并通过 RestClient 发送:
var client2 = new RestClient("https://my.web.com/api/upload");
client2.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddParameter("id", RiD);
request.AddFile("file_path", @"C:\attachment\attachment.zip");
IRestResponse response = client2.Execute(request);
Console.WriteLine(response.Content);
如何在副线程中发送?
谢谢
这个解决方案对我有帮助:
var thread = new Thread(() =>
{
Thread.Sleep(3000);
var client2 = new RestClient("https://my.web.com/api/upload");
client2.Timeout = 5000;
var request = new RestRequest(Method.POST);
request.AddParameter("id", RiD);
request.AddFile("file_path", @"C:\attachment\attachment.zip");
IRestResponse response = client2.Execute(request);
Console.WriteLine(response.Content);
});
thread.Start();
thread.IsBackground = true;
注意:Thread.Sleep(3000);
是因为主线程 - 压缩电子邮件中的所有附件,所以我需要慢速第二个威胁来等待压缩
感谢@Dmitry Streblechenko