Interop.Outlook / UiPath-是否可以通过异步方式发送电子邮件?

我为UiPath开发了一些自定义活动,其中一些活动用于发送具有某些自定义行为的电子邮件(更改电子邮件的回复收件人,使用所有线程并重新发送...)

问题是,在我们遇到Outlook上的安全窗口之前,它没有任何问题,您应该按下“允许”以继续发送或从中接收电子邮件。

此弹出窗口实际上阻止了任何与电子邮件Outlook相关的活动(也来自UiPath)。实际上,我们通过Paralell活动对UiPath活动进行了整理。

对于自定义活动,情况有所不同,因为Interop的Send方法将锁定CPU /线程/任何对象,而不允许Paralell活动完成其工作。

UiPath自定义活动应该从Codeactivity继承或派生,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);

如您所见,我并没有真正使用异步或与线程相关的编码。 因此,有人可以帮助我如何以异步方式发送电子邮件(从Outlook,而不是SMTP或与之相关的任何东西)吗?好像UiPath活动正在做,我想复制。

非常感谢您。

亲切的问候,

xwhses 回答:Interop.Outlook / UiPath-是否可以通过异步方式发送电子邮件?

您是否看过@ wolfgang-radl的这个异步答案?

How to invoke async activity in UIPath

本文链接:https://www.f2er.com/3051549.html

大家都在问