gpt4 book ai didi

c# - 序列化 SendGridMessage 对象

转载 作者:行者123 更新时间:2023-12-03 01:52:38 25 4
gpt4 key购买 nike

我正在构建一个需要发送一些事务性邮件的系统,为了实现此目的,我使用 Azure 存储队列临时存储消息,然后再由 WebJob 拾取消息并将其发送给预期收件人。

我的代码如下:

SendGridMessage message = new SendGridMessage();
//Populate message with details - omitted for brevity

var serializer = new JavaScriptSerializer();
var modelAsString = serializer.Serialize(message);

try
{
var setting = CloudConfigurationManager.GetSetting("AzureStorageConnectionString");
var account = CloudStorageAccount.Parse(setting);
var queueClient = account.CreateCloudQueueClient();
var queue = queueClient.GetQueueReference("FSPortalEmailQueue");
queue.CreateIfNotExists();

queue.AddMessage(new CloudQueueMessage(modelAsString));
}
catch (Exception ex)
{
//Something went wrong
}

每次我尝试执行编码器时,都会抛出异常

var modelAsString = serializer.Serialize(message);

"Exception has been thrown by the target of an invocation."

抛出的内部异常是

{"Bad key path!"} from source "SendGrid.SmtpApi"

请告诉我我在这里做错了什么。

最佳答案

经过进一步挖掘,发现 message.header 节点没有被初始化。添加后

message.Header = new SendGrid.SmtpApi.Header();

message.Header.SetTo(new List<String> { enquiry.EnquiryCreatedBy.Email });

一切都开始神奇地工作

关于c# - 序列化 SendGridMessage 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33366116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com