考慮以下代碼代碼分析抱怨我沒有處理對象。這裏有什麼問題?
private MailMessage GetMailMessageFromMailItem(Data.SystemX.MailItem mailItem)
{
var msg = new MailMessage();
foreach (var recipient in mailItem.MailRecipients)
{
var recipientX = Membership.GetUser(recipient.UserKey);
if (recipientX == null)
{
continue;
}
msg.To.Add(new MailAddress(recipientX.Email, recipientX.UserName));
}
msg.From = new MailAddress(ConfigurationManager.AppSettings["EmailSender"],
ConfigurationManager.AppSettings["EmailSenderName"]);
msg.Subject = sender.UserName;
if (!string.IsNullOrEmpty(alias)) msg.Subject += "(" + alias + ")";
msg.Subject += " " + mailItem.Subject;
msg.Body = mailItem.Body;
msg.Body += Environment.NewLine + Environment.NewLine + "To reply via Web click link below:" + Environment.NewLine;
msg.Body += ConfigurationManager.AppSettings["MailPagePath"] + "?AID=" + ContextManager.AccountId + "&RUN=" + sender.UserName;
if (mailItem.MailAttachments != null)
{
foreach (var attachment in mailItem.MailAttachments)
{
msg.Attachments.Add(new Attachment(new MemoryStream(attachment.Data), attachment.Name));
}
}
return msg;
}
我只是把我的數據庫類型,並轉換爲MAILMESSAGE。 它被髮送到另一個函數。
代碼分析告訴我,我沒有處置「msg」,這是正確的。但是,如果我在這裏做 - 我試圖發送它時發生異常。
此外,它抱怨這裏沒有處置的MemoryStream:
msg.Attachments.Add(新附件(新的MemoryStream(attachment.Data), attachment.Name));
我不知道如何妥善處置它。我嘗試了不同的東西,但發送郵件時說「流關閉」時出現異常
如何禁止警告? – katit
@katit:通過 - 我不使用代碼分析。我確信網上有很多說明。 –
@Downvoter:照顧評論? –