Задание
Разработать клиент-серверное приложение с возможность удаленного управления файловой системой сервера с клиентской части.
Функционал программым
Для выбора диска нужно воспользоваться выпадающим меню.
Для обновления каталога можно воспользоваться кнопкой “R”.
Для возвращения в предыдущий каталог служит кнопка “←”.
Доступ к основному функционалу программы осуществляется при помощи контекстного меню, которое отображается при нажатие правой кнопки мыши на один их элементов.
- Элемент меню “Copy” выполняет копирование файла или папки.
- Элемент меню “Cut” выполняет вырезание файла или папки.
- Элемент меню “Past” выполняет вставку файла или папки в выбранный каталог.
- Элемент меню “Create File” создает новый файла.
- Элемент меню “Create Directory” создает новую папку.
- Элемент меню “Cut” выполняет переименование файла или папки.
Содержание отчёта по программе
1.ТЕХНИЧЕСКОЕ ЗАДАНИЕ.
2.Научно-исследовательская часть.
2.1 Постановка задачи проектирования.
2.2 Описание предметной области.
2.2.1 Windows или Win32.
2.2.2 Выполнение программы в Win32.
2.2.3 Работа с WCF.
2.3. Анализ аналогов и прототипов.
2.4. Перечень задач, подлежащих решению в процессе разработки.
2.5. Обоснование выбора инструментов и платформы для разработки.
- Проектно-конструкторская часть.
3.1. Разработка структуры приложения. .
3.2. Разработка архитектуры приложения. .
3.3. Разработка систем передачи информации.
3.4. Разработка интерфейса взаимодействия с пользователя с системой.
- Проектно-технологическая часть.
4.1. Тестирование и отладка макета рабочей программы.
4.2. Разработка руководства пользователя и программиста.
4.2.1 Руководство администратора сервера.
4.2.2 Руководство обычного пользователя.
4.3 Экспериментальные данные тестирование процедур.
4.4 Разработка спецификаций на оснащение подразделений.
Заключение.
Список использованных источников.
Часть отчёта
Для установки соединения между клиентской и серверной частью приложение требуется настроить конфигурационные файлы. В конфигурационных файлах происходит настрой конечных точек и адресов хостов. В конечной точке указываем тип привязки нашего сервиса netTcpBinding и в адресе конечной точки указываем адрес нашего хоста net.tcp://localhost:2020/Server, в качестве ip используем localhost, так как сервер и клиент расположены на одном компьютере.
NetTcpBinding – Задает безопасную, надежную и оптимизированную привязку, пригодную для обмена данными между компьютерами. По умолчанию создает стек связи среды выполнения с безопасностью Windows для защиты и проверки подлинности сообщений, с протоколом TCP для доставки сообщений, а также с кодированием двоичных сообщений.
В конфигурационном файле серверной части приложения так же указываем тип привязки, на которой будет работать наш сервис. В атрибуте имя указываем тип сервиса для создания экземпляра RemoteFileExplorer.Server.Network.ServerEngine. В атрибуте адрес указываем адрес конечной точки net.tcp://localhost:2020/Server. В атрибуте контракт указываем, какой контракт является этой конечной точкой RemoteFileExplorer.Middleware.Network.IServerEngine.
Часть кода программы:
public class FileExplorerCopyService { public void CopyFile(string src, string dist, bool overwrite) { if (File.Exists(src)) { File.Copy(src, dist, overwrite); } } public void CopyDirectory(string src, string dist, bool copySubDirs, bool overwrite) { var dir = new DirectoryInfo(src); var dirs = dir.GetDirectories(); if (!dir.Exists) { return; } // If the destination directory does not exist, create it. if (!Directory.Exists(dist)) { Directory.CreateDirectory(dist); } // Get the file contents of the directory to copy. var files = dir.GetFiles(); foreach (var file in files) { // Create the path to the new copy of the file. var path = Path.Combine(dist, file.Name); // Copy the file. file.CopyTo(path, overwrite); } // If copySubDirs is true, copy the subdirectories. if (copySubDirs) { foreach (var subdir in dirs) { // Create the subdirectory. var temppath = Path.Combine(dist, subdir.Name); // Copy the subdirectories. CopyDirectory(subdir.FullName, temppath, true, overwrite); } } } } }
-----------------------------------
В архиве:
- Расчётно пояснительная записка 43 стр. (в формате .docx)
- 2 листа c UML диаграммами, по алгоритмам и логике работы программы (в формате .vsdx и .png)
- Презентация для выступления
- Программа(исходный код на C#)
-----------------------------------
Пояснения по запуску программы
- Открыть проект в Visual Studio.
- Запустить сервер расположенный по пути Удаленный диспетчер файлов.rar\Программа\RemoteFileExplorer.Server\bin\Debug\RemoteFileExplorer.Server.exe
- Скомпилировать и запустить клиенскую часть приложения из Visual Studio.
imlkenshi