Bu benim işlevim. İstemciyi ve iletiyi tümceyi kullanmaya başladım ve kod denetimi çalıştırırken hata alıyorum.Kod denetimi, nesneyi atmam gerektiğini söylüyor. Hangisi?
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);
}
}
}
fazla bu uyarı edilmektedir: hata noktası ilk satırı kullanarak
uyarı 1 CA2000: Microsoft.Reliability: yöntem 'Email.Send (MailItem)' de, " nesne <> g_ initLocal0 ', tüm özel durum yollarıyla birlikte işaretli değildir. o kapsamı dışındadır tüm kaynaklardan önce nesnenin '<> g _initLocal0' üzerinde System.IDisposable.Dispose çağırın. C: \ CodeWorkspace \ Kod \ Utility \ Email.cs 41
Kodunuzdaki 41 numaralı satırda ne var? – BrokenGlass
@BrokenGlass: Kodunda 41. satırda * nedir? – Mehrdad
@Mehrdad: Bunu göz önünde bulundurmanın imkansız olması, dosyanın içindeki kodun sadece bir kısmı. – BrokenGlass