我在我的应用程序日志中经常看到“Base-64 字符串中的无效字符”错误。我已经阅读了一系列可能出现的不同原因以及一些潜在的修复方法。问题是我无法在本地重现错误。
我相信它会在HttpUtility.HtmlEncode
电话中出现,但我不确定。
这是我的 StackTrace 错误:
at System.Convert.FromBase64String(String s)
at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)
at System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState)
at System.Web.UI.HiddenFieldPageStatePersister.Load()
错误发生在电子邮件提交表单上;用户输入姓名、电子邮件地址和消息,然后通过 SMTP 将其发送到每个指定的电子邮件地址。
我正在寻找一些可以尝试并强制此错误发生的方法,以便我可以修复它。
代码段如下:
var emailMessage = new MailMessage();
emailMessage.From = new MailAddress(emailAddress, name);
emailMessage.Subject = "Subject";
emailMessage.Body = HttpUtility.HtmlEncode(message);
emailMessage.To.Add(new MailAddress(contactEmailAddress, contactName));
var smtpClient = new SmtpClient(ConfigurationManager.AppSettings["SMTPServer"]);
smtpClient.Send(emailMessage);