2012-04-17 4 views
0

У меня есть программа C#, которая обновляет файл txt произвольными временными интервалами и программу labview, которая непрерывно проверяет данные в файле txt и проверяет их.Доступ к текстовому файлу из двух приложений одновременно

Можете ли вы посоветовать мне способ избежать столкновений между этими приложениями?

+0

Итак, одно приложение - читатель, а другое - писатель, правильно? Оба приложения не будут записывать в файл одновременно? –

+0

да точно. C# write и labview читает, – Mario

+0

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

ответ

0

Один простой способ заключается в использовании именованного/глобального MUTEX

http://msdn.microsoft.com/en-us/library/f55ddskf.aspx

мьютекса с таким же названием рассматривается как же все процессы. Вы можете использовать их для сигнализации или блокировки.

+0

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

1

LabVIEW имеет запрет доступа-vi. Таким образом, вы можете блокировать запись C# во время чтения. http://zone.ni.com/reference/en-XX/help/371361E-01/glang/lock_range/ (Запретить доступ - Чтение - Разрешить доступ)

Я бы сделал запись на C# с помощью цикла try-catch или что-то в этом роде, но я не C# -expert.