.NET SmtpClientクラスを使用してAppServerプロシージャから電子メールを送信しています。 https://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient(v=vs.110).aspxOpenEdgeでマルチスレッド.NETオブジェクトを使用する方法
OpenEdgeの構文はすべて正しいです(クラスブラウザを使用して、コードを変換するのは簡単です)が、問題の行はここにあります:あなたがサポートされていない方法でマルチスレッドの.NETオブジェクトを使用しようとしている
:
mailClient:send(mailMessage).
次のエラーが表示されたコードを実行
。メインスレッド以外のスレッドでABLを呼び出すことはできません。 (15740) ABLはシングルスレッドです。複数のスレッドを使用し、メインの処理スレッド以外のスレッドでABLにコールバックしようとする.NETオブジェクトを使用すると、このエラーが表示されます。私が質問しているのは、マルチスレッド.NETオブジェクトをシングルスレッドなのでABLでどうやって使うのですか?
最初にWAIT-FOR
ステートメントを使用してドキュメントを提案しましたが、結果は変わりませんでした。
私は少し混乱しています。[SmtpClientのMSDNサイト](https://msdn.microsoft.com/en-us/library/x5x13z6h(v = vs.110).aspx)を見てください'send'メソッドが非同期ではないので、特別な' SmtpClient.SendAsync'メソッドがあります。これには、 'Async'という接頭辞を持つ他の多くのメソッドもあります。 – xander