System.IO.IOException: «Файл существует» при использовании System.IO.Path.GetTempFileName () - разрешения?

Один из моих клиентов получал исключение всякий раз, когда пытался использовать мой продукт. Я получил callstack произошедшего исключения, вершина которого:

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.__Error.WinIOError()
   at System.IO.Path.GetTempFileName()
   at System.Windows.Input.Cursor.LoadFromStream(Stream cursorStream)
   at System.Windows.Input.Cursor..ctor(Stream cursorStream)

Погуглив это, я нашел многоСообщения в блоге Это исключение выдается, когда в папке% TEMP% находится более 65535 временных файлов, и что решение состоит в том, чтобы просто удалить старые временные файлы. Я могу попросить клиента сделать это, но это может быть только временным решением - что, если они регулярно запускают какое-то другое программное обеспечение, которое делает частые вызовы GetTempFileName, что заставит проблему повторяться снова и снова?

Я могу'просто программно очистить папку% TEMP%, так как это может как-то повредить что-то еще, и я могуне вызывать GetTempFileName (и вместо этого использовать мою собственную временную папку)это не я, а код WPF, которыйзовет это.

Есть ли какое-то постоянное решение для этого?

ОБНОВИТЬ: ЯМы подтвердили, что проблема, когда папка% TEMP% переполнена файлами журналов, не вызвана моим собственным кодом и должна быть вызвана каким-либо другим сторонним приложением на клиенте ».с машиной. Я также посмотрел на реализациюCursor.LoadFromStream и это, конечно, неt виноват - он создает временный файл, но затем удаляет его вfinally блок.

Ответы на вопрос(6)

Ваш ответ на вопрос