Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
7 / 7 / 1
Регистрация: 30.10.2014
Сообщений: 56

Мониторинг файлов в сетевой директории

24.10.2017, 21:49. Показов 4516. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Подскажите, что не так. Есть замечательный инструмент FileSystemWatcher Все отлично работает, НО только в локали. Т.е. если указать d:\work в качестве параметра. А вот если указать в качестве того же параметра \\tsclient\d\work, то этот инструмент работать отказывается. Куда копать??? Что я сделал не так? Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.10.2017, 21:49
Ответы с готовыми решениями:

Мониторинг сетевой активности приложения
День добрый. И так, по порядку. Есть потребность отловить входящие соединения определенного приложения. Написал небольшую программку...

Мониторинг директории и копирование только новых файлов
Всем привет! Подскажите как реализовать следующую затею. Есть директория, в которой периодически появляются (добавляются) различные файлы....

Вывод всех файлов и поддиректорий в заданной директории (добавить в код ввод директории)
.586p .model flat, stdcall std_output_handle equ -11 std_input_handle equ -10 extern wsprintfA:near extern CharToOemA@8:near ...

23
49 / 40 / 37
Регистрация: 25.07.2013
Сообщений: 178
25.10.2017, 08:09
Может, это не то, что вам нужно, но можно попробовать подключить сетевой диск.

Добавлено через 27 секунд
...ну и обращаться непосредственно к нему.
0
7 / 7 / 1
Регистрация: 30.10.2014
Сообщений: 56
25.10.2017, 09:19  [ТС]
Спасибо, но не то. Не смотря, что диск будет выглядеть X: , путь к нему всеравно чарез \\
0
 Аватар для Skorp24
52 / 50 / 26
Регистрация: 15.06.2009
Сообщений: 390
25.10.2017, 10:40
assa62, вообще-то странно, должен работать. Просто изменения файлов не видит или ошибка какая-нибудь происходит?
0
7 / 7 / 1
Регистрация: 30.10.2014
Сообщений: 56
25.10.2017, 10:45  [ТС]
Skorp24, Сам в шоке. Убил день пока понял, что не видит изменений. Если задать в качестве параметра локальную директорию, то все работает отлично. Если задать сетевой путь, то на параметр не ругается, но и не отслеживает ничего. Ошибок нет никаких. По ссылке выше можете скомпилировать файл и проверить.
0
 Аватар для Skorp24
52 / 50 / 26
Регистрация: 15.06.2009
Сообщений: 390
25.10.2017, 10:56
assa62, ссылку забыли. А лучше прицепите проект.
0
7 / 7 / 1
Регистрация: 30.10.2014
Сообщений: 56
25.10.2017, 11:10  [ТС]
Skorp24, проект - это DLL для 1с. А ссылка на простой вотчер в первом сообщении. Во вложении уже готовый. Запускайте с параметром wather.exe D:\myDir - будет работать, а с параметром wather.exe \\tsclient\d\myDir - не будет. Также не будет работать и с параметрами типа \\server\share и им подобным. Во всяком случае у меня не работает.
Вложения
Тип файла: zip wather.zip (2.6 Кб, 12 просмотров)
0
 Аватар для Skorp24
52 / 50 / 26
Регистрация: 15.06.2009
Сообщений: 390
25.10.2017, 11:27
assa62, в первом сообщении ссылка на справку по компоненту FileSystemWatcher - этот компонент у меня работает без проблем как с локальными, так и с сетевыми директориями. Под проектом я подразумевал исходники, Ваш solution.
0
7 / 7 / 1
Регистрация: 30.10.2014
Сообщений: 56
25.10.2017, 11:36  [ТС]
Skorp24,
Цитата Сообщение от Skorp24 Посмотреть сообщение
Под проектом я подразумевал исходники, Ваш solution.
я понимаю о чем Вы говорили. Но не думаю, что быстро смогу объяснить назначение этой dll, как ее подключить и что от нее ожидать.
А по поводу ссылки на справку, очень даже интересно. Давайте на ней и остановимся. Я создал проект по этой справке. И у меня не мониторится сетевая директория. Что сделал не так? Покажите код Вашего проекта. Я в коде из примера ничего не менял. И в моей DLL точно такой же код.
0
 Аватар для Skorp24
52 / 50 / 26
Регистрация: 15.06.2009
Сообщений: 390
25.10.2017, 12:11
assa62, да, при запуске примера с мониторингом сетевой директории у меня всё работает нормально.

Может, проблема кроется в сетевой директории? Обновляется ли список файлов автоматически, если сетевую директорию открыть в "Проводнике" и добавлять/удалять файлы с помощью другого ПО?
0
7 / 7 / 1
Регистрация: 30.10.2014
Сообщений: 56
25.10.2017, 12:26  [ТС]
Skorp24, Давайте тогда по порядку. Со своего компьютера я по РДП подключаюсь на сервер. В настройках РДП стоит подключать диски клиента. В проводнике на сервере после подключения я вижу диск своего компьютера. Путь к нему \\tsclient\d. на этом диске есть директория scale. На сервере запускаю watch.exe \\tsclient\d\scale. Дальше в директории d:\scale добавляю/удаляю какой либо файл. watch.exe на сервере не реагирует на эти действия, в проводнике на сервере я вижу, что файл добавляется/удаляется.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
25.10.2017, 12:28
assa62, могу посоветовать простой и эффективный выход.
На том компьютере, который нужно мониторить, запускаем WCF службу, а в ней уже работает FileSystemWatcher. Все желающие подключаются к службе, подписываются на ее события (используем паттерн Наблюдатель с контрактами обратного вызова) и отслеживают все изменения.
0
25.10.2017, 12:30

Не по теме:

я уж думал, что без упоминания WCF от insite не обойдётся :D

0
25.10.2017, 12:48

Не по теме:

Exerion, так почему бы и не упомянуть, если это, в принципе, один из лучших и удобных инструментов для удаленного взаимодействия. :)

0
 Аватар для Skorp24
52 / 50 / 26
Регистрация: 15.06.2009
Сообщений: 390
25.10.2017, 14:27
Цитата Сообщение от assa62 Посмотреть сообщение
В настройках РДП стоит подключать диски клиента.
В данном случае этот \\tsclient\d - не обычная папка с файлами, а просто симуляция. И элементарно с точки зрения безопасности на компьютере, куда происходит удалённый доступ, программы не должны ничего знать о том, что творится на компьютере подключающегося. Возможно, потому FileSystemWatcher и не видит изменений в папке.
0
7 / 7 / 1
Регистрация: 30.10.2014
Сообщений: 56
25.10.2017, 14:39  [ТС]
Skorp24,
Цитата Сообщение от Skorp24 Посмотреть сообщение
В данном случае этот \\tsclient\d - не обычная папка с файлами, а просто симуляция.
Покажите, пожалуйста, свой параметр для watch.exe который мониторит сетевую директорию.
Цитата Сообщение от Skorp24 Посмотреть сообщение
FileSystemWatcher - этот компонент у меня работает без проблем как с локальными, так и с сетевыми директориями
а то я что то запутался в ответах.
Цитата Сообщение от assa62 Посмотреть сообщение
Также не будет работать и с параметрами типа \\server\share и им подобным. Во всяком случае у меня не работает.
Как Вы передаете watch.exe указатель на сетевую директорию?
0
 Аватар для Skorp24
52 / 50 / 26
Регистрация: 15.06.2009
Сообщений: 390
25.10.2017, 15:54
Цитата Сообщение от assa62 Посмотреть сообщение
Покажите, пожалуйста, свой параметр для watch.exe который мониторит сетевую директорию.
Я в том смысле, что написание \\tsclient\d правильное, но если по данному адресу у нас расположение, которого не существует физически, а которое временно создано программными средствами, обеспечивающими удалённый доступ, то FileSystemWatcher с ним может не работать.
0
7 / 7 / 1
Регистрация: 30.10.2014
Сообщений: 56
25.10.2017, 17:45  [ТС]
Skorp24, Даже если я подключаю диск клиента через net share и присваиваю этому сетевому диску букву X:, то watch.exe X:\scale все равно не мониторит.
0
 Аватар для Skorp24
52 / 50 / 26
Регистрация: 15.06.2009
Сообщений: 390
25.10.2017, 17:51
assa62, не могу, к сожалению, прокомментировать подобные "нестандартные" варианты. Подождём кого-нибудь опытнее.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
25.10.2017, 19:10
assa62, я вам уже выше сказал. WCF служба + FileSystemWatcher решит вашу проблему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2017, 19:10
Помогаю со студенческими работами здесь

Мониторинг сетевой активности
Такое дело : На работе какая-то служба или программа куда-то стучится под просроченной учеткой и моя учетка блокируется... Пробовал...

Поиск файла в сетевой директории командой из формы
Добрый день всем! Подскажите пожалуйста, можно ли выполнить поиск файла с заданным названием, который находится в сетевой папке...

FTP: получение списка файлов из потока. Как вывести список файлов из директории?
доброго времени суток. пытаюсь написать свой FTP-клиент. отправил серверу команду LIST, и в ответ он выдал "ок. успешно" ...

В определенной директории, прочитать все имена файлов и создать папки, с названиями этих файлов
В общем Моя задача, в определенной директории, прочитать все имена файлов и создать папки, с названиями этих файлов. Вот код: namespace...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru