Программа завершается при перемещении файла - PullRequest
0 голосов
/ 16 февраля 2009

У меня есть программа .Net, которая в качестве одной из своих функций берет файл из указанного пользователем каталога и помещает его в другой, специальный каталог, указанный через UNC (который может быть или не быть локальным). Я не открываю ни один из этих файлов в этой части кода.

У меня есть странная ошибка, когда на виртуальной машине с Windows Server 2003 с пакетом обновления 2 (SP2) эта программа произвольно прерывает работу при перемещении в локальную папку. Это просто заканчивается. Не исключение, не ведение журнала, и это не происходит в любой конкретный момент. Я не могу воспроизвести эту проблему на моей машине для разработки, и это, кажется, происходит только во время копирования файла определенного типа, размером около мегабайта или около того. Существуют другие форматы, скопированные в разные каталоги с использованием очень похожего кода, все меньше по размеру, и они отлично работают.

Почему программа Windows .Net делает такое прерывание, как это? Что я могу сделать, чтобы это исправить?

Ответы [ 4 ]

0 голосов
/ 17 февраля 2009

вы проверяли журналы событий? Есть ли с ней антивирусная программа? это получает DAP'd?

0 голосов
/ 16 февраля 2009

.NET runtime будет работать быстро и завершит работу приложения без дополнительного уведомления о переполнении стека. Однако это должно сгенерировать запись в журнале событий сервера. Используете ли вы в коде рекурсию или выделение больших массивов и т. Д., Которые могут вызвать переполнение стека?

0 голосов
/ 17 февраля 2009

Я бы поменял одну строку. Что произойдет, если он просто сохранит файл локально? Это все еще терпит неудачу в этом изображении? Вы можете скопировать и вставить эту часть кода в свой вопрос?

0 голосов
/ 16 февраля 2009

Я бы предположил сбой сети , так как вы упомянули "указано через UNC (которое может быть локальным или нет)".

Я бы изменил программу, добавив запись в журнал для операции копирования файла, если это опция.

Вы пытались выполнить "netstat" во время попытки копирования? Это может сказать вам, возможно ли заблокирован порт брандмауэра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...