Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Just_deniss
4 / 4 / 3
Регистрация: 07.04.2011
Сообщений: 58
Завершенные тесты: 1
#1

Похоже Memory Leak как справится? - C#/.NET 4.x

19.06.2016, 13:38. Просмотров 231. Ответов 3
Метки нет (Все метки)

Доброго времени суток!
эксперементирую с самодельным почтовым клиентом. В сети нашёл библиотеку под это дело MailSystem.net-trunk
Почту получаю так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 Imap4Client imap = new Imap4Client();
            imap.ConnectSsl("imap.gmail.com", 993);
            imap.Login(loginTXT.Text, passTXT.Text);
 
            imap.Command("capability");
 
            Mailbox inbox = imap.SelectMailbox("inbox");
            int[] ids = inbox.Search("UNSEEN");
 
            ActiveUp.Net.Mail.Message msg = null;
            string path = Directory.GetCurrentDirectory();
 
            for (var i = 0; i < ids.Length; i++)
            {
                msg = inbox.Fetch.MessageObject(ids[i]);
                string filename = path + msg.MessageId + ".txt";
                File.WriteAllText(filename, "From: " + msg.From + "(" + msg.SenderIP + ")" + Environment.NewLine + "e-mail subject: " + msg.Subject + Environment.NewLine + msg.BodyText.TextStripped.ToString());
                listBox1.Items.Add(msg.From + "&&" + msg.Subject + "&&" + msg.Date.ToString()+" __" + msg.MessageId);
}
Записываю каждое письмо в файл и добавляю элементы в листбох (но не в этом суть)
До конца пока не разобрался при каких условиях это проиcходит, но почти всегда когда тяну письмо с атачментом. Документации по этой библиотеки я не нашёл по этому всё как-то в слепую происходит.
Собственно вопросы:
Действительно ли это утечка памяти и как с ней справится? (В первые с таким столкнулся)
Может посоветуете что то лутчше чем mailsystem.net?
http://www.cyberforum.ru/windows-forms/thread2183181.html
0
Миниатюры
Похоже Memory Leak как справится?   Похоже Memory Leak как справится?   Похоже Memory Leak как справится?  

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2016, 13:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос .NET 4.x Похоже Memory Leak как справится? (C#):

Memory leak
Здравствуйте, коллеги. В программе наблюдается утечка памяти. Наблюдается...

Memory leak - как исправить?
Здрасте, есть функция function GetColorTable(hds: HBITMAP; pColors:...

Memory Leak in IE 5.0
Утечка памяти до беспамятства системы :) Замечали такое за ИЕ? Может знает кто...

Memory leak
Здравствуйте! Люди, очень интересная проблема возникла у моего друга. Программа...

Memory leak
Всем добрый день. Помогите пожалуйста разобраться, проверяю приложение в...

3
EvilFromHell
944 / 843 / 345
Регистрация: 26.04.2012
Сообщений: 2,648
19.06.2016, 14:44 #2
Just_deniss, а стандартные средства для этого почему не подходят? Вот примитивный метод для отправки почты стандартными средствами:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        public static void SendMail(string smtpServer, string from, string password,
        string mailto, string caption, string message, string attachFile = null)
        {
            try
            {
                MailMessage mail = new MailMessage();
                mail.From = new MailAddress(from);
                mail.To.Add(new MailAddress(mailto));
                mail.Subject = caption;
                mail.Body = message;
                if (!string.IsNullOrEmpty(attachFile))
                    mail.Attachments.Add(new Attachment(attachFile));
                SmtpClient client = new SmtpClient();
                client.Host = smtpServer;
                client.Port = 587;
                client.EnableSsl = true;
                client.Credentials = new NetworkCredential(from.Split('@')[0], password);
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.Send(mail);
                mail.Dispose();
            }
            catch (Exception e)
            {
                throw new Exception("Mail.Send: " + e.Message);
            }
        }
1
Just_deniss
4 / 4 / 3
Регистрация: 07.04.2011
Сообщений: 58
Завершенные тесты: 1
19.06.2016, 14:48  [ТС] #3
У меня на оборот, получение а не отправка...
0
EvilFromHell
944 / 843 / 345
Регистрация: 26.04.2012
Сообщений: 2,648
19.06.2016, 15:55 #4
Да, что-то я затупил, получать почту ни разу не было нужно и я решил, что есть для того стандартные средства, а оказалось, что они только для отправки. Но в гугле хватает разных интересных ссылок, вот например. Еще в NuGet стоит посмотреть разные варианты. Что лучше-не скажу.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2016, 15:55
Привет! Вот еще темы с решениями:

Memory leak in the SharedPtr C++98
Стандарт С++98. Задача: реализовать свой SharedPtr (не шаблонный). Всю ночь...

memory leak on WM_PAINT
сразу подробный упрощенный пример. на данной машине использую VC6++. Windows...

Memory leak в Java приложении
Подскажите пожалуйста, где может возникнуть утечка памяти в Java приложении? ...

В моей программе на VB6 победить memory leak!
Имею такой bas модуль : Attribute VB_Name = &quot;Proc&quot; Option Explicit Dim y...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru