Đây là chức năng của tôi. Tôi đã gói cả khách hàng và tin nhắn vào khoản sử dụng và vẫn gặp lỗi khi chạy kiểm tra mã. điểm lỗi đến đầu tiên sử dụng dòng:Kiểm tra mã cho biết tôi cần phải vứt bỏ vật thể. Cái nào?
public static void Send(MailItem mail)
{
var sender = Membership.GetUser(mail.CreatedBy);
if (sender == null)
{
return;
}
using (var msg = new MailMessage { From = new MailAddress(ConfigurationManager.AppSettings["EmailSender"], ConfigurationManager.AppSettings["EmailSenderName"]) })
{
foreach (var recipient in mail.MailRecipients)
{
var recipientX = Membership.GetUser(recipient.UserKey);
if (recipientX == null)
{
continue;
}
msg.To.Add(new MailAddress(recipientX.Email, recipientX.UserName));
}
msg.Subject = "[From: " + sender.UserName + "]" + mail.Subject;
msg.Body = mail.Body;
if (HttpContext.Current != null)
{
msg.Body += Environment.NewLine + Environment.NewLine + "To reply via Web click link below:" +
Environment.NewLine;
msg.Body += ConfigurationManager.AppSettings["MailPagePath"] + "?AID=" +
ContextManager.CurrentAccount.AccountId + "&RUN=" + sender.UserName;
}
try
{
using (var emailClient = new SmtpClient())
{
emailClient.Send(msg);
}
}
catch (Exception ex)
{
Logger.LogException(ex);
}
}
}
này được cảnh báo tôi nhận được:
Cảnh báo 1 CA2000: Microsoft.Reliability: Trong phương pháp 'Email.Send (MailItem)', đối tượng ' <> g_ initLocal0 'không được xử lý cùng với tất cả các đường dẫn ngoại lệ. Hãy gọi System.IDisposable.Dispose trên đối tượng '<> g _initLocal0' trước khi tất cả các tham chiếu vào đó nằm ngoài phạm vi . C: \ CodeWorkspace \ Mã \ Utility \ Email.cs 41
Bạn đang ở dòng 41 trong mã của mình? – BrokenGlass
@BrokenGlass: * là gì * ở dòng 41 trong mã của anh ấy? – Mehrdad
@Mehrdad: Không thể nói rằng đây chỉ là một phần của mã trong tệp. – BrokenGlass