Реализовать клиент серверное приложение - C#

Узнай цену своей работы

Формулировка задачи:

Здраствуйте,дали задание реализовать клиент серверное приложение: Реализовать с клиента: просмотр словаря по алфавиту, поиск введенного термина по слову и по букве, добавление термина, удаление термина, редактирование. Вся информация хранится на сервере. Может у кого нибудь есть что нибудь похожее,или кто нибудь подскажет как сделать?

Решение задачи: «Реализовать клиент серверное приложение»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. using System.IO;
  7. using System.Data;
  8. using System.Data.SQLite;
  9. using System.ServiceModel;
  10.  
  11. [ServiceBehavior(InstanceContextMode=InstanceContextMode.PerCall)]
  12. class MyService : IContract {
  13.     private readonly string CONNECT_STR = string.Empty;
  14.     public MyService() {
  15.         CONNECT_STR = string.Format("Data Source={0}", Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Database.db"));
  16.         if (!File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Database.db"))) {
  17.             throw new FaultException("Database file error!");
  18.         }
  19.     }
  20.     public string[] GetAllWords(bool ordered) {
  21.         try {
  22.             List<string> temp = new List<string>();
  23.             using (SQLiteConnection cnn = new SQLiteConnection(CONNECT_STR)) {
  24.                 cnn.Open();
  25.                 string selectStr = "SELECT * FROM words";
  26.                 using (SQLiteCommand cmd = new SQLiteCommand(selectStr, cnn)) {
  27.                     using (SQLiteDataReader dr = cmd.ExecuteReader()) {
  28.                         while (dr.Read()) {
  29.                             temp.Add((string)dr["word"]);
  30.                         }
  31.                     }
  32.                 }
  33.             }
  34.             return ordered ? temp.ToArray() : temp.OrderBy(s => s).ToArray();
  35.         }
  36.         catch (Exception ex) {
  37.             ExceptionDetail detail = new ExceptionDetail(ex);
  38.             FaultException<ExceptionDetail> error = new FaultException<ExceptionDetail>(detail, ex.Message);
  39.             throw error;
  40.         }
  41.     }
  42.  
  43.     public string[] GetWordsByWord(string word) {
  44.         return this.GetAllWords(false).Where(s => s == word).ToArray();
  45.     }
  46.  
  47.     public string[] GetWordsByChar(char ch) {
  48.         return this.GetAllWords(false).
  49.             Where(s => s.StartsWith(ch.ToString(), StringComparison.InvariantCultureIgnoreCase)).
  50.             ToArray();
  51.     }
  52.  
  53.     public void AddWord(string word) {
  54.         try {
  55.             string insertStr = string.Format("INSERT INTO words VALUES('{0}')", word);
  56.             using (SQLiteConnection cnn = new SQLiteConnection(CONNECT_STR)) {
  57.                 cnn.Open();
  58.                 using (SQLiteCommand cmd = new SQLiteCommand(insertStr, cnn)) {
  59.                     cmd.ExecuteNonQuery();
  60.                 }
  61.             }
  62.         }
  63.         catch (Exception ex) {
  64.             ExceptionDetail detail = new ExceptionDetail(ex);
  65.             FaultException<ExceptionDetail> error = new FaultException<ExceptionDetail>(detail, ex.Message);
  66.             throw error;
  67.         }
  68.     }
  69.  
  70.     public void DeleteWord(string word) {
  71.         throw new NotImplementedException();
  72.     }
  73. }
  74. [ServiceContract]
  75. interface IContract {
  76.     [OperationContract]
  77.     string[] GetAllWords(bool ordered);
  78.     [OperationContract]
  79.     string[] GetWordsByWord(string word);
  80.     [OperationContract]
  81.     string[] GetWordsByChar(char ch);
  82.     [OperationContract]
  83.     void AddWord(string word);
  84.     [OperationContract]
  85.     void DeleteWord(string word);
  86. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы