В этом случае я ввожу отмену для наблюдения последнего изменения (обычно некоторый случайный символ, который был введен в неправильном окне, так как я сохраняю рано и часто).
было бы хорошо, если бы был некоторый другой признак текущих изменений, например, в границе как быстрая разность в текстовых редакторах Eclipse.
Вы должны протестировать его на производительность, но я сомневаюсь, что это дороже, чем проверка существования файла (например, доступен ли он только для чтения), и, безусловно, дешевле, чем фактическое открытие файла. .
Если (после тестирования) вы решите, что это проблема, вы также можете кэшировать свои вызовы в GetLastWriteTime
(например, не вызывайте его чаще одного раза в 5 секунд для любого заданного файла).
Кроме того, я никогда не использовал его, но если кеширование вызывает беспокойство, надеюсь, вы подумали о том, чтобы делегировать его реализацию какому-нибудь специалисту, например Squid , вместо того, чтобы накатывать свою собственную.
Я не пробовал это, но ваш вопрос имеет отношение к ситуации, о которой я думал.
Вы не указали, какие данные меняются? база данных, XML-данные и т. д.
Кэширование ASP.NET поддерживает обновление кеша на основе множества зависимостей.
Ознакомьтесь с этой статьей в разделах «Файловая зависимость, Временная зависимость», и зависимость на основе ключей.
«Зависимости позволяют нам сделать недействительным конкретный элемент в кэше на основе изменений файлов, изменений в других ключах кэша или в фиксированный момент времени. Давайте посмотрим на каждую из этих зависимостей».
Вот статья:
http://msdn.microsoft.com/en-us/library/ms972379.aspx
Спасибо
Джо
По сути, на ваш вопрос «насколько дорого?» Есть три ответа.
Мы не можем действительно ответит на ваш вопрос, так что вам просто нужно попробовать. Если вы решите, что это было слишком дорого или что стоит потратить время на то, чтобы изменить его с приемлемого на довольно дешевый, измените вопрос на вопрос, как ускорить процесс.
Или, если вас это беспокоит, почему бы не кэшировать его на минуту?
При создании ссылок это приведет к дополнительным операциям ввода-вывода небольшого диска. Если вы создадите много URL-адресов за короткий период времени, это может стать узким местом. Никто не может сказать наверняка, повлияет ли это на ваш сценарий - вам действительно нужно измерить и посмотреть, будет ли это проблемой.