Попробуйте это:
sum(v1[x] <= v2[x] <= v3[x] for x in range(3))
нельзя было сделать это через контроллер или использовать ASHX ( http://www.marklio.com/marklio/CommentView,guid,df8d6471-83fd-4f66-a799 -ef8274979f0e.aspx ) для потоковой передачи содержимого и удаления временных файлов после завершения записи потока?
мы используем application_start с таймером для запуска с интервалом каждые 24 часа и очищаем / удаляем папку временных файлов один раз в день.
Graphviz создает клиента и добавляет его в виде ссылки на странице. поэтому вы не можете удалить их напрямую.
Существует несколько способов:
, помните, что вы не должны удалять изображения, которые созданы всего секунду назад. из-за того, что они могут быть использованы .
Вы можете создать обработчик (.ashx) и передавать через него временный файл. Таким образом вы узнаете, что файл был передан клиенту, и сможете удалить временный файл в конце обработчика.
Возможная проблема заключается в том, что клиент не сможет загрузить файл файл дважды, так как вы немедленно его удаляете. (Что затем можно было бы смягчить с помощью кеша вывода страницы ...
Мне нравится иметь дело с временными файлами, созданными действие в том же действии, которое их порождает. Например: (в MVC, но это может быть применимо к любой структуре)
public ActionResult Foo()
{
FooCleanup(); // deletes files in "~/temp/Foo/" older than a day or so
string filename = CreateTemporaryFile(); // Creates a temporary file like "~/temp/Foo/{timestamp}.foo"
return File(filename);
}
Если Foo () вызывается часто, вы можете добавить некоторую логику, чтобы вызывать очистку только время от времени. Это похоже на работу cron для бедняков, но она хорошо работает.