アプリケーションログに「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);