(сервис) зависание программы при получении объекта из сервиса

Привет всем, у меня все еще возникает эта проблема, и я не получаю какого-либо конкретного сообщения об ошибке.

Это игровой проект с тральщиком.

Я могу войти в систему и увидеть список всех вошедших в систему игроков в списке. это прекрасно работает.

метод службы также работает нормально. в режиме отладки он возвращает требуемый объект типа «MsServer300.User» в метод клиента, а следующая выполняемая строка теперь возвращается в метод клиента и там зависает. (MsServer300 - это имя проекта, содержащего службу). класс «Пользователь» - из базы данных, подключенной к службе.

Есть идеи, почему? Спасибо!!

это клиентский метод: (долго по причинам поиска ошибок)

private void listBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { ///////////
        try
        {
            MsServiceClient proxy = new MsServiceClient(new InstanceContext(Callback));
            string s = LbConnectedPlayers.SelectedItem.ToString();

            var userDetails = proxy.GetDetails(s);  //<<<here is the error  
            if (userDetails == null)
                MessageBox.Show("user details is null");
            else
            LbConnectedPlayers.ItemsSource = userDetails.ToString();
        }catch(Exception ex){
            MessageBox.Show("error in selectionchange    "+ex.Message);
        }

    }

это метод обслуживания:

        public User GetDetails(string name)
    {
        try
        {
            using (ms_AvishayAndRonen6Entities ctx = new ms_AvishayAndRonen6Entities())
            {
                //User user = ctx.Users.SingleOrDefault(a => a.UserName == name);
                //return user;
                User user = (from m in ctx.Users
                           where m.UserName == name
                           select m).First();
                return user;
            }
        }
        catch (Exception ex)
        {
            User exUser = new User();
            exUser.UserName = ex.Message;
            return exUser;
        }

    }
0
0
25
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я не вижу сведений о подключении, но я всегда устанавливаю для параметра «Наборы нескольких активных результатов» значение «Истина». Попробуйте это и посмотрите, решит ли это вашу проблему. вот пример строки подключения:

using System.Data.SqlClient;

namespace MyConnection
{
class Connection
{

  public static SqlConnection GetConnection()
  {
        string connectionString = "Data Source=WhateverYourdataSource;Initial Catalog=EDI;Persist Security Info=True;User ID=YourID;Password=Password.is;Integrated Security=False;MultipleActiveResultSets=True";
        SqlConnection connection = new SqlConnection(connectionString);
        return connection;
    }

}
}

это было решено! проблема заключалась в том, что внутри объекта «Пользователь» был другой объект, который содержал списки «Пользователь», поэтому, вероятно, перешел в цикл бесконечности или что-то в этом роде.

когда я удалил этот объект, пользовательский объект прошел правильно.

Другие вопросы по теме