|
доступ к файлу на сетевом диске c#
|
|||
---|---|---|---|
#18+
здравствуйте, помогите пожалуйста. В курсовой работе у меня есть программа которая генерирует текстовые файлы на одном компьютере, на другом компе другая программа работает и изменяет этот файл. вопрос : как записать и считать файл который лежит на сетевых дисках...допустим диск Z... или все так же просто как со своими дисками (C,D)? и еще один, у меня есть очередь объектов, первый..или крайний, ...объект будет стерилизоваться в XML и отправляться на тот компьютер в котором такого файла либо нет, либо над ним была проведена работа и поле...допусти change == true, и в таком случаи предыдущий файл XML(который уже изменен) отправляется на первый и замещается следующим. заранее благодарен) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 00:03 |
|
доступ к файлу на сетевом диске c#
|
|||
---|---|---|---|
#18+
Rumatoили все так же просто как со своими дисками (C,D)? 1. Да. А почему Вы спрашиваете это , а не попробовали сперва сами? 2. Ничего не понял ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 08:38 |
|
доступ к файлу на сетевом диске c#
|
|||
---|---|---|---|
#18+
1. еще не нашел второй компьютер для проверки 2. допустим у меня есть три компьютера, один у администратора, два у рабочих. администратор заполняет форму (клиентские данные и чекедлистбокс), создается обьект и добавляется в очередь. потом он должен отправиться на компьютер, работники какой ничем не заняты, они должны провести роботы, и отправить этот измененный обьект обратно на компьютер администратора. я понимаю что все это должно быть через XML. я сейчас опишу подробней, вы только скажите чи в правильном направлении я двигаюсь. можно создать поток в администраторской программе который будет проверять существует ли на компьютерах работников этот файл, если нет, то можно отправить обьект в виде XML фала, если такой файл есть, проверить завершили ли работники на нем свою работу (там будет булевая переменная) - если завершили то вернуть этот обьект на компьютер администратора, а на компьютере работника заменить его новым. почему я это здесь пишу - мне нужно выговориться, и когда пишешь свои идеи они обрастают деталями. скажите что я двигаюсь в правильном направлении или пробовать не стоит? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 14:28 |
|
доступ к файлу на сетевом диске c#
|
|||
---|---|---|---|
#18+
1) для этого второй компьютер не обязателен, можно обратиться к своей же шаре по сетевому пути. Rumato...объект будет стерилизоваться ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 17:43 |
|
доступ к файлу на сетевом диске c#
|
|||
---|---|---|---|
#18+
Rumatoможно создать поток в администраторской программе который будет проверять существует ли на компьютерах работников этот файл, если нет, то можно отправить обьект в виде XML фала, если такой файл есть, проверить завершили ли работники на нем свою работу (там будет булевая переменная) - если завершили Лучше изучите возможности FileSystemWatcher . Этот класс как раз создан для отслеживания изменений файлов. А как Вы собрались определять, что на каком-то компе пользователи бьют баклуши? Однако я бы использовал бд. С XML это получается слишком запутано ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 19:23 |
|
доступ к файлу на сетевом диске c#
|
|||
---|---|---|---|
#18+
Rumatoвопрос : как записать и считать файл который лежит на сетевых дисках...допустим диск Z... или все так же просто как со своими дисками (C,D)? Все так же просто. только путь не C:\MyFile.xml а \\server\share\MyFile.xml вот и вся разница. Тут задача о том что один и тот же файл используют несколько приложений одновременно. А где он - без разницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 19:35 |
|
доступ к файлу на сетевом диске c#
|
|||
---|---|---|---|
#18+
Cat2, не усложняй. Он же честно написал RumatoВ курсовой работе ... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 19:43 |
|
доступ к файлу на сетевом диске c#
|
|||
---|---|---|---|
#18+
Dima TCat2, не усложняй. Он же честно написал RumatoВ курсовой работе ... Так я же и написал, что я бы сделал бд Dima TRumatoвопрос : как записать и считать файл который лежит на сетевых дисках...допустим диск Z... или все так же просто как со своими дисками (C,D)? Все так же просто. только путь не C:\MyFile.xml а \\server\share\MyFile.xml вот и вся разница. Тут задача о том что один и тот же файл используют несколько приложений одновременно. А где он - без разницы. Да у него еще проще - у всех есть диск Z ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 19:54 |
|
доступ к файлу на сетевом диске c#
|
|||
---|---|---|---|
#18+
С помощью FileSystemWatcher я бы, в первом приближении, решил так. Админ создает новый файл. Например a00000.xml На клиентских компах FileSystemWatcher настроен на обнаружение файлов по шаблону a?????.xml и обнаруживает его в событии onCreated. Первый клиент открывает его для записи (зачем - чуть позже), потом считывает , редактирует на форме, закрывает запись, сохраняет и переименовывает в a00000_changed.xml. Открыть для записи надо для того, что если второй попытается сделать то же самое с уже взятым для обработки файлом, то у него возникнет ошибка, так как файл будет заблокирован для записи. В настоящей программе надо бы еще выводить на клиенты список файлов которые ждут обработки и корректировать его. Тут слабое место "закрывает запись, сохраняет и переименовывает ". Теоретически в этот момент второй может начать редактирование, но это маловероятно и можно обойти. Самое простое - запретить ему переименовывать файл, если такое имя уже есть. Можно и сложнее. Увидеть, что статус файла перешел из Created в Changed ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 20:21 |
|
доступ к файлу на сетевом диске c#
|
|||
---|---|---|---|
#18+
Cat2Так я же и написал, что я бы сделал бд Зачем? И что она порешает кроме ACID? SQL Server Service Broker до кучи тогда поднять для оповещений об изменениях. Достаточно монопольно открывать файл, чтобы другие не мешали. Другие тупо ждут в цикле пока открывший закончит свою работу. ИМХУ для курсовой хватит. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 20:23 |
|
доступ к файлу на сетевом диске c#
|
|||
---|---|---|---|
#18+
Rumato1. еще не нашел второй компьютер для проверки 2. допустим у меня есть три компьютера, один у администратора, два у рабочих. администратор заполняет форму (клиентские данные и чекедлистбокс), создается обьект и добавляется в очередь. потом он должен отправиться на компьютер, работники какой ничем не заняты, они должны провести роботы, и отправить этот измененный обьект обратно на компьютер администратора. я понимаю что все это должно быть через XML Почему вдруг XML? Выше же Вы писали об обычном текстовом файле: "есть программа которая генерирует текстовые файлы на одном компьютере, на другом компе другая программа работает и изменяет этот файл". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 08:50 |
|
|
start [/forum/topic.php?fid=20&msg=39342196&tid=1400235]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 150ms |
0 / 0 |