Реализовать клиент серверное приложение - 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);
}

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


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

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

8   голосов , оценка 4.125 из 5
Похожие ответы