Как использовать и объем global.asax (для очистки файла после концов приложения)

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

def copyfileobj_example(source, dest, buffer_size=1024*1024):
    """      
    Copy a file from source to dest. source and dest
    must be file-like objects, i.e. any object with a read or
    write method, like for example StringIO.
    """
    while True:
        copy_buffer = source.read(buffer_size)
        if not copy_buffer:
            break
        dest.write(copy_buffer)

, Если Вы хотите скопировать именем файла, Вы могли бы сделать что-то вроде этого:

def copyfile_example(source, dest):
    # Beware, this example does not handle any edge cases!
    with open(source, 'rb') as src, open(dest, 'wb') as dst:
        copyfileobj_example(src, dst)

5
задан Eric Leschinski 30 October 2015 в 17:48
поделиться

2 ответа

Хорошее место для изучения того, как использовать Global.asax, - это прочитать Краткое руководство по использованию ASP.NET . У вас есть по одному на каждое веб-приложение / сайт. Это что-то вроде событий глобального уровня.

Имейте в виду, что событие Application_End не срабатывает часто на большинстве серверов. Он будет срабатывать только в том случае, если пул приложений IIS выгружен / переработан, изменен web.config, сборки изменены в / Bin или в другой ситуации, когда веб-сервер останавливается. На популярном сайте может пройти несколько недель или месяцев до того, как ваше мероприятие начнется.

3
ответ дан 14 December 2019 в 19:20
поделиться

Ссылка MSDN и Ссылка на Википедию - это места для начала.

Он используется не как интерфейс, а скорее как фильтр, имеющий множество различных ловушек для таких вещей, как запуск объекта Application, сеанса или запроса. Ссылка на Википедию содержит список вызовов, которые может выполнять Global.asax, хотя я бы предложил на мгновение отступить, чтобы понять, как заканчивается веб-приложение по сравнению с настольным приложением. IIS может повторно использовать пул приложений как один из способов завершения работы приложения, хотя есть и другие способы, поэтому установка очистки на конце приложения может быть не лучшей идеей, если это событие никогда не срабатывает.

2
ответ дан 14 December 2019 в 19:20
поделиться
Другие вопросы по тегам:

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