У меня есть приложение (Win 32-bit), которое делает изменяемый набор данных доступным для других сетевых компьютеров, записывая файл данных размером около 100 Кбайт каждую секунду. Другие компьютеры читают один и тот же файл один раз в секунду для доступа и отображения данных в удаленных местах. Столкновения ожидаются и происходят время от времени, и обрабатываются, открывая файл в соответствующем режиме. Если какой-либо из подчиненных не может открыть файл из-за того, что он записывается, нет никаких последствий, связанных с тем, что ему отказано в доступе - он просто получит его в следующий раз.

Система работала без проблем под WinXP в течение нескольких лет, но только что была установлена в сети Windows 8 и работает плохо.

Через некоторое время - обычно много часов, а иногда и дней - "главный" ПК прекращает обновление файла - каждый доступ возвращается The process cannot access the file because it is being used by another process - поэтому ведомые устройства видят "замороженные" данные с тех пор и далее. Однако ситуация постоянна, и единственным способом действий является выход из главного приложения и перезапуск главного компьютера - просто выход из главного приложения не освобождает файл.

У кого-нибудь есть предложения по поводу того, что может быть причиной этого?

Поможет ли SysInternals ProcessExplorer (с помощью функции «Найти дескриптор»)?

Последнее замечание: файл данных, который используется для обеспечения доступности информации, назван с расширением MSI . Может ли Windows 8 ввести некоторые функции "няни", чтобы приложения не ссылались на образы установщика MSI? Я хватаюсь за соломинку здесь. Естественно, я собираюсь попробовать что-то еще в качестве расширения, но доступ к системе затруднен, поскольку она является частью системы 24-7-365, поэтому я хочу собрать как можно больше знаний до этого.

0