Ограничения каталога TEMP в Windows?

Это - в основном вопрос предпочтения. Я использую Элементы для группировки и атрибуты для данных, если это возможно, поскольку я рассматриваю это как более компактное, чем альтернатива.

, Например, я предпочитаю.....

<?xml version="1.0" encoding="utf-8"?>
<data>
    <people>
         <person name="Rory" surname="Becker" age="30" />
        <person name="Travis" surname="Illig" age="32" />
        <person name="Scott" surname="Hanselman" age="34" />
    </people>
</data>

... Вместо....

<?xml version="1.0" encoding="utf-8"?>
<data>
    <people>
        <person>
            <name>Rory</name>
            <surname>Becker</surname>
            <age>30</age>
        </person>
        <person>
            <name>Travis</name>
            <surname>Illig</surname>
            <age>32</age>
        </person>
        <person>
            <name>Scott</name>
            <surname>Hanselman</surname>
            <age>34</age>
        </person>
    </people>
</data>

Однако, если у меня есть данные, которые не представляют легко в, говорят 20-30 символов, или содержит много кавычек или другие символы, для которых нужен выход тогда, я сказал бы, что пора вспыхнуть элементы... возможно с блоками CData.

<?xml version="1.0" encoding="utf-8"?>
<data>
    <people>
        <person name="Rory" surname="Becker" age="30" >
            <comment>A programmer whose interested in all sorts of misc stuff. His Blog can be found at http://rorybecker.blogspot.com and he's on twitter as @RoryBecker</comment>
        </person>
        <person name="Travis" surname="Illig" age="32" >
            <comment>A cool guy for who has helped me out with all sorts of SVn information</comment>
        </person>
        <person name="Scott" surname="Hanselman" age="34" >
            <comment>Scott works for MS and has a great podcast available at http://www.hanselminutes.com </comment>
        </person>
    </people>
</data>
5
задан Benjamin Pollack 5 November 2009 в 21:57
поделиться

4 ответа

С какой именно ошибкой вы столкнулись?

Вы создаете слишком много временных файлов ?

Метод GetTempFileName вызовет исключение IOException, если оно используется для создать более 65535 файлов без удаление предыдущих временных файлов.

Метод GetTempFileName вызовет исключение IOException, если нет уникального временного имя файла доступно. Решить эту ошибку удалите все ненужные временные файлы.

Следует отметить, что если вы косвенно используете Win32 API и используете его только для получения имен временных файлов, обратите внимание, что при (косвенном) его вызове:

Создает однозначно названный, нулевой байт временный файл на диске и возвращает полный путь к этому файлу.

Если вы используете этот путь, но также меняете возвращаемое значение, имейте в виду, что вы на самом деле можете создать 0-байтовый файл и дополнительный файл поверх него (например, My_App_tmpXXXX.tmp и tmpXXXX.tmp ).

Как предлагает ниже Нестор, подумайте об удалении временных файлов после того, как вы закончите их использовать.

10
ответ дан 18 December 2019 в 14:47
поделиться

В Temp не должно быть такого ограничения места. Если вы написали приложение, я бы рекомендовал создавать ваши файлы в ProgramData ...

1
ответ дан 18 December 2019 в 14:47
поделиться

Используя файловую систему FAT32, я могу представить, что это произойдет, когда:

  • Записываете много данных в один файл, и вы достигаете предельного размера файла 4 ГБ.
  • Или когда вы создаете много маленьких файлов и достигает 2 ^ 16-2 файлов на каждую директорию.

Кроме этого, я не знаю каких-либо ограничений, которые система может наложить на временную папку, кроме того, что физический раздел фактически заполнен .

Еще одним ограничением является то, что Майк Атлас предложил функцию GetTempFileName () , которая создает файлы типа tmpXXXX.tmp . Хотя вы, возможно, не используете его напрямую, убедитесь, что в папке % TEMP% их не слишком много (2 ^ 16).

И, возможно, очевидное, пробовали ли вы очистить% TEMP % перед запуском утилиты?

2
ответ дан 18 December 2019 в 14:47
поделиться

Не должно возникнуть никаких проблем с вашим каталогом% TEMP%.

Какая у вас дисковая квота для тома хостинга% TEMP%? Частично в зависимости от того, что делают сами приложения, одно из них может выдавать ошибку из-за достижения дисковой квоты, что является проблемой, если эта квота установлена ​​неоправданно высокой. Если квота очень высока, попробуйте уменьшить ее, что вы можете сделать как администратор.

0
ответ дан 18 December 2019 в 14:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: