Реализовать клиент серверное приложение - C#
Формулировка задачи:
Здраствуйте,дали задание реализовать клиент серверное приложение:
Реализовать с клиента: просмотр словаря по алфавиту, поиск введенного термина по слову и по букве, добавление термина, удаление термина, редактирование.
Вся информация хранится на сервере.
Может у кого нибудь есть что нибудь похожее,или кто нибудь подскажет как сделать?
Решение задачи: «Реализовать клиент серверное приложение»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Data; using System.Data.SQLite; using System.ServiceModel; [ServiceBehavior(InstanceContextMode=InstanceContextMode.PerCall)] class MyService : IContract { private readonly string CONNECT_STR = string.Empty; public MyService() { CONNECT_STR = string.Format("Data Source={0}", Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Database.db")); if (!File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Database.db"))) { throw new FaultException("Database file error!"); } } public string[] GetAllWords(bool ordered) { try { List<string> temp = new List<string>(); using (SQLiteConnection cnn = new SQLiteConnection(CONNECT_STR)) { cnn.Open(); string selectStr = "SELECT * FROM words"; using (SQLiteCommand cmd = new SQLiteCommand(selectStr, cnn)) { using (SQLiteDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { temp.Add((string)dr["word"]); } } } } return ordered ? temp.ToArray() : temp.OrderBy(s => s).ToArray(); } catch (Exception ex) { ExceptionDetail detail = new ExceptionDetail(ex); FaultException<ExceptionDetail> error = new FaultException<ExceptionDetail>(detail, ex.Message); throw error; } } public string[] GetWordsByWord(string word) { return this.GetAllWords(false).Where(s => s == word).ToArray(); } public string[] GetWordsByChar(char ch) { return this.GetAllWords(false). Where(s => s.StartsWith(ch.ToString(), StringComparison.InvariantCultureIgnoreCase)). ToArray(); } public void AddWord(string word) { try { string insertStr = string.Format("INSERT INTO words VALUES('{0}')", word); using (SQLiteConnection cnn = new SQLiteConnection(CONNECT_STR)) { cnn.Open(); using (SQLiteCommand cmd = new SQLiteCommand(insertStr, cnn)) { cmd.ExecuteNonQuery(); } } } catch (Exception ex) { ExceptionDetail detail = new ExceptionDetail(ex); FaultException<ExceptionDetail> error = new FaultException<ExceptionDetail>(detail, ex.Message); throw error; } } public void DeleteWord(string word) { throw new NotImplementedException(); } } [ServiceContract] interface IContract { [OperationContract] string[] GetAllWords(bool ordered); [OperationContract] string[] GetWordsByWord(string word); [OperationContract] string[] GetWordsByChar(char ch); [OperationContract] void AddWord(string word); [OperationContract] void DeleteWord(string word); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д