इस कोड पर विचार करेंकोड विश्लेषण शिकायत करता है कि मैं वस्तुओं का निपटारा नहीं कर रहा हूं। यहाँ क्या गलत है?
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 को बदलने। यह किसी अन्य फ़ंक्शन में भेजा जाता है।
कोड विश्लेषण मुझे बताता है कि मैं "संदेश" का निपटारा नहीं कर रहा हूं जो सही है। लेकिन अगर मैं इसे यहां करता हूं - जब मैं इसे भेजने की कोशिश कर रहा हूं तो मुझे अपवाद मिलता है।
इसके अलावा, इसके बारे में यहाँ MemoryStream निपटान नहीं शिकायत:
msg.Attachments.Add (नई अनुलग्नक (नई MemoryStream (attachment.Data), attachment.Name));
मुझे इस बात का कोई अंदाजा नहीं है कि इसे ठीक तरीके से निपटाने के तरीके के बारे में कोई जानकारी नहीं है। मैंने अलग-अलग चीजों की कोशिश की, लेकिन "स्ट्रीम बंद हो गया है" कहने पर मेल भेजते समय अपवाद प्राप्त हो रहा था, "
मैं चेतावनियों को कैसे दबा सकता हूं? – katit
@ कटिट: पास - मैं कोड विश्लेषण का उपयोग नहीं करता हूं। मुझे यकीन है कि ऑनलाइन बहुत सारे निर्देश हैं। –
@Downvoter: टिप्पणी करने की देखभाल? –