我有一个Windows服务,它利用quartz.net按计划比较两个不同系统中的帐户,并将这些更改从一个同步到另一个。我似乎无法进行简单的休息调用,因为序列化json失败了。抛出没有异常,但json字符串为空。
private void SendEmail(string Subject, string sBody)
{
// Create an email message and identify the Exchange service.
var message = new Models.EmailRequest()
{
// Add properties to the email message.
Subject = "My Sync Utility: " + Subject,
Body = sBody,
To = "fake@fake.net",
IsHtml = true,
AccessCode = "1111111-1111-1111-1111-111111111"
};
string json = Newtonsoft.Json.JsonConvert.SerializeObject(message, Newtonsoft.Json.Formatting.None);
logger.Info("JSON: " + json);
}
型号:
internal class EmailRequest
{
public string AccessCode { get; set; }
public string Body { get; set; }
public bool IsHtml { get; set; }
public string Subject { get; set; }
public string To { get; set; }
}
这导致日志:“UserSync JSON:{}”我可以通过将调试器附加到服务来确认这是结果字符串中反映的内容。我以前从未见过JsonConvert失败过如此简单的模型。
答案 0 :(得分:0)
好的,事实证明问题不是Json.net也不是Quartz,而是因为运行post build的混淆器正在密封类。删除该标志后,它就成功发送了电子邮件。