[英]Interop.Outlook / UiPath - Is there a way to send an email in an asynchronous way?
我为 UiPath 开发了一些自定义活动,其中一些用于发送具有一些自定义行为的电子邮件(更改 email 的回复收件人,获取所有线程并重新发送...)
问题是,在我们在 Outlook 上遇到安全 window 之前,它没有任何问题,您应该按下“允许”以继续从它发送或获取 email。
这个弹出窗口实际上阻止了任何 email outlook 相关活动(也来自 UiPath)。 实际上,我们使用 UiPath 活动的并行活动对其进行了整理。
对于自定义活动,情况有所不同,因为 Interop 的 Send 方法会锁定 CPU/线程/任何东西,不允许并行活动完成其工作。
UiPath自定义activity应该是继承或派生自CodeActivity,是同步的,所以我使用了AsyncCodeActivity的实现
protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback, object state)
protected override void EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
在 BeginExecute 我有我的 Send 方法,它仍然阻止了这个过程。 是的,我已经破解了一些与流程本身无关的东西。
bool returnValue = 2 > 1;
Func<int, int, bool> func = (x, y) => x > y;
return func.BeginInvoke(2, 1, callback, state);
如您所见,我并没有真正使用异步或线程相关的编码。 那么,谁能帮助我如何以异步方式发送 email(来自 Outlook,而不是 SMTP 或任何相关)? 似乎 UiPath 活动正在这样做,我想复制。
非常感谢你。
亲切的问候,
您是否查看过@wolfgang-radl 的这个异步答案?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.