Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
12 / 12 / 7
Регистрация: 29.03.2011
Сообщений: 55

Блокируется файл лога при отправке по почте в третий раз

03.10.2012, 21:12. Показов 1425. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть функция отправки сообщения с логом работы приложения:
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
27
28
29
30
31
32
33
34
35
36
37
38
     private void SendReport()            
      {              
            MailMessage message;
            String msgBody;
            String msgFrom = "mail@mail.ru";
            String msgTo = "mail@mail.ru";
            String msgSubject = "subj";
            String smtpUserName = "mail@mail.ru";
            String smtpUserPass = "password1";
            String smtpHost = "smtp.mail.ru";            
            int smtpPort = 25;
            string userState;
 
            SmtpClient client = new SmtpClient(smtpHost, smtpPort);
            client.Credentials = new NetworkCredential(smtpUserName, smtpUserPass);
            client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
 
            msgBody = "body";
            message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);
            userState = "Reporter";
            if (!Directory.Exists(logDirectory + "\\Attachments"))
                Directory.CreateDirectory(logDirectory + "\\Attachments");
            foreach (string attachFile in Directory.GetFiles(logDirectory, "*.txt", SearchOption.TopDirectoryOnly))
            {
                File.Copy(attachFile, logDirectory + "\\Attachments\\" +
                   attachFile.Substring(attachFile.LastIndexOf("\\") + 1), true);// ЗДЕСЬ ошибка
            }
            foreach (string attachFile in Directory.GetFiles(logDirectory + "\\Attachments", "*.*"))
            {
                message.Attachments.Add(new Attachment(attachFile));
            }
            try
            {
                client.SendAsync(message, userState);
            }
            catch
            {...}
      }
При 2й, 3й и т.д. отсылке файлов возникает ошибка: "Процесс не может получить доступ к файлу, так как этот файл используется другим процессом".
Отправляется специально копия, чтобы лог при передаче не блокировался, то есть файл может быть занят только отправкой. Но message, вроде как, не должно блокировать файлы, поскольку создается новый экземпляр.
Что виновато и что делать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.10.2012, 21:12
Ответы с готовыми решениями:

Прикрепить файл при отправке письма на почте
Здравствуйте ребята , Версия Indy : 10.5.9.0 и хочу прикрепить файл на почте {$R *.dfm} uses IdAttachmentFile ,ComObj; ...

Уже третий раз за пару дней блокируется почтовый ящик антиспам системой
Уже третий раз за пару дней блокируется почтовый ящик антиспам системой. Вначале решил проблему поменяв пароль, и во второй раз также, на...

Сообщение транслируется при отправке по почте
Здравствуйте! На Cyberforume Azdeman помог мне составить код php который отправит сообщение на электронную почту, но полученное сообщение....

2
122 / 120 / 47
Регистрация: 14.09.2012
Сообщений: 276
05.10.2012, 20:58
а вы в самой программе не забыл закрыть файл после записи
0
12 / 12 / 7
Регистрация: 29.03.2011
Сообщений: 55
06.10.2012, 03:12  [ТС]
Нет, же писал, отправляется копия лога. При замене которой, собственно, и возникает ошибка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.10.2012, 03:12
Помогаю со студенческими работами здесь

Баг При Отправке Писем В Почте 8.5.2 И Далее
не слышали про такой баг? в лотусе в версии 8.5.2 клиента и выше, если указывать в письме в копии нескольких человек то обязательно кого...

Проверка на флаг при отправке документов по эл.почте
Есть Внешняя обработка, в ней необходимо сделать отправку документов по установленным флагам. Не знаю куда вписать проверку на галочку,...

Не работает добавление подписи при отправке сообщения по электронной почте
Всем здрасти помогите я его использую в екселе Sub Êíîïêà2_Ùåë÷îê() Application.DisplayAlerts = False FullFilePath1 =...

Как обойти предупреждение Outlook при отправке диапазона по почте?
Уважаемые форумчане. Прошу Вашего совета. После отправки диапазона Excel 2003 с помощью Outlook 2003 появляется окно с предупреждением...

При записи Лога не заполняется файл
Добрый день, подключил к готовому проекту Лог файл, чтобы прочитать некоторые данные. И из одних классов и функции все читается а из других...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru