Использование SendGrid с задачей скрипта в пакетах служб SSIS - PullRequest
0 голосов
/ 29 октября 2018

Используя VS 2017, я создал пакет служб SSIS, а затем попытался использовать SendGrid с компонентом «Задача сценария», но у меня остались сообщения об ошибках. Сообщение об ошибке «Исключение было сгенерировано целью вызова». Ниже приведен мой код, и, пожалуйста, помогите мне понять, что с ним не так. Спасибо.

public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{
    static EmailAddress yao = new EmailAddress("user@sample.com", "User Sample");
    static string template_id = "SendGridTemplateID";
    static string _api_key = ConfigurationManager.AppSettings["SendGridKey"];
    public void Main()
    {

        SendEmail().Wait();
        Dts.TaskResult = (int)ScriptResults.Success;
    }
    static async Task SendEmail()
    {

        var client = new SendGridClient(_api_key);
        var msg = new SendGridMessage();
        msg.AddTo(new EmailAddress("Sample@user.com", "Sample User"));
        msg.SetFrom(new EmailAddress("Sample@user.com", "Sample User"));

        msg.SetTemplateData(GoogleLinkReport);
        msg.SetTemplateId(template_id);

        var response = await client.SendEmailAsync(msg);
        Console.WriteLine(response.Body.ReadAsStringAsync().Result);

    }
    static GoogleLink GoogleLinkReport = new GoogleLink
    {
        header = "This is google link",
        text = "Please click the button to open the link for google",
        subject = "GoogleLink",
        c2a_link = "https://www.google.com",
        c2a_button = "Google Link"
    };
    public class GoogleLink
    {
        public string header;
        public string text;
        public string subject;
        public string c2a_link;
        public string c2a_button;
    }

}
...