在一个 c# 项目中,我编写了一个静态异步任务,用于通过 tmpt-relay 发送电子邮件。主要功能正在调用此任务。这工作正常。我的问题是我从 vb.net 项目中调用此函数,这也有效,电子邮件已发送但 vb.net 挂在 c#-call 中
我的 C# 代码
public class SmoffMail
{
public static string sRet;
public string sendMail(string mailto)
{
RunAsync(mailto).Wait();
return sRet;
}
static async Task RunAsync(string mailto){
MailjetClient client = new MailjetClient("419cce0b9807d1016642156966fc4ec1",
....
sRet = "ok.....";
}
}
从 vb.net 我这样称呼它:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim smail As New smoff.Mailjet.SmoffMail
Dim i As Integer = 0
Dim sRet As String = ""
sRet = smail.sendMail("xxxxxxxh@bluewin.ch")
MsgBox(sRet)
End Sub
End Class
所以函数 smail.sendMail() 被调用但挂起,代码中的下一行 ( msgbox ) 是神经质的尝试。
谢谢你的帮助