Задать вопрос
@SillyIdiot
Самый умный из людей

Простой способ хранения данных с серверной стороны C# WCF?

Пусть пользователь отправляет инфу на сервер, которую неважно, насколько безопасно хранить. Только что пробовал через File.WriteAllText записывать инфу в ткстшку, лежащую в одном каталоге с .ехе серверной части (не хостом), но она оставалась пустой. Функция от клиента к серверу - RegisterRequest, серверная - Register.
public bool RegisterRequest(string Degree, string Username, string Password)
        {
            bool Answer = true;
            List<User> Users = JsonConvert.DeserializeObject<List<User>>(File.ReadAllText("Users.txt"));

            User NewUser = new User()
            {
                ID = ID++,
                Degree = Degree,
                Username = Username,
                Password = Password
            };

            if (Users.FirstOrDefault(U => U.Username == Username) != null)
            {
                Answer =  false;
            }

            if (Users.Count < 4)
            {
                Users.Add(NewUser);
            }
            else
            {
                Answer = false;
            }

            if (Answer)
            {
                new Callback().Register(NewUser);
            }

            ID++;
            return Answer;
        }

public void Register(User NU)
        {
            List<User> Users = JsonConvert.DeserializeObject<List<User>>(File.ReadAllText("Users.txt"));
            Users.Add(NU);
            File.WriteAllText("Users.txt", JsonConvert.SerializeObject(Users));
        }
  • Вопрос задан
  • 119 просмотров
Подписаться 1 Средний 4 комментария
Решения вопроса 1
NikFaraday
@NikFaraday
Student full-stack Developer
1) Проверьте существование файла по указанному пути
2) Писать путь к файлу прямым текстом - плохая практика, такие данные нужно хранить где-то в константном виде, либо в конфигурации
3) Попробуйте записать в файл каждого юзера "По свойственно", т.е. каждое свойство/поле записать отдельно, это всё в цикле для каждого юзера
4) Запустите дебаг (Для 3го пункта), проверьте, что находится в файле после записи каждого юзера
5) Вообще, используйте базу данных)))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы