Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Point Blank (Piercing Blow) (https://forum.zone-game.info/forumdisplay.php?f=204)
-   -   [Piercing Blow] PROTOCOL_BASE_GET_SYSTEM_INFO_ACK (https://forum.zone-game.info/showthread.php?t=41036)

Boris2105 29.01.2018 21:23

Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 429946)
Бряк и в дебагере глянь, или логом выведи.


почему то только один канал вызывает
https://pp.userapi.com/c840523/v8405...rHQG0wIXT4.jpg

PROGRAMMATOR 29.01.2018 21:30

Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
 
Ну вот. Теперь ищи причину, почему только 1 запись.

Boris2105 29.01.2018 22:03

Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 429948)
Ну вот. Теперь ищи причину, почему только 1 запись.

нашел ошибку
req:
Свернуть ↑Развернуть ↓

PROGRAMMATOR 29.01.2018 22:54

Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
 
Юзай Include и First, в теме по EF я тебе давал пример.

Boris2105 30.01.2018 16:00

Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 429950)
Юзай Include и First, в теме по EF я тебе давал пример.

Вот так реализовал , но возник вопрос
Теперь каждый раз когда нужен channel надо в req пакете так прописывать или можно как то по другому реализовать ?
 
                var channel = context.servers.Include(x => x.Channels)
                    .FirstOrDefault();
 
Code: C#

PROGRAMMATOR 30.01.2018 23:01

Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
 
Я не совсем понимаю для чего тебе выборка 1 сервера для этого пакета. FirstOrDefault вернёт просто первую запись в таблице или null если таблица пуста, а тебе нужен список. Ну и var channel это всё же "server" включая каналы (связь one to many).

А так да, можешь хоть каждый раз дёргать, а можешь выбрать один раз все сервера и получать их из этого списка, тем более, что выборка в GET_CHANNEL_LIST по индексу, а не по Id.

Boris2105 30.01.2018 23:13

Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 429962)
Я не совсем понимаю для чего тебе выборка 1 сервера для этого пакета. FirstOrDefault вернёт просто первую запись в таблице или null если таблица пуста, а тебе нужен список. Ну и var channel это всё же "server" включая каналы (связь one to many).

А так да, можешь хоть каждый раз дёргать, а можешь выбрать один раз все сервера и получать их из этого списка, тем более, что выборка в GET_CHANNEL_LIST по индексу, а не по Id.

первую часть я понял , не совсем понял про var channel
ну я не много не понял как например мне использовать в PROTOCOL_BASE_SELECT_CHANNEL_REQ , если не снова дергать

PROGRAMMATOR 30.01.2018 23:51

Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
 
Цитата:

Сообщение от Boris2105 (Сообщение 429963)
не совсем понял про var channel

Это о названии переменной.

Выбрать один раз. Например, в Program создать статичное свойство:

public static List<GameServer> GameServers { get; set; }
 
Code: C#

И при запуске сервера получаем список всех известных серверов.

Program.GameServers = await _gameservers.GetAsync();
 
Code: C#

Всё, Program.GameServers будет содержать сервера.

Конечно, это можно вынести в отдельный класс, Holder, Manager...

Boris2105 31.01.2018 20:26

Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 429962)
Я не совсем понимаю для чего тебе выборка 1 сервера для этого пакета. FirstOrDefault вернёт просто первую запись в таблице или null если таблица пуста, а тебе нужен список. Ну и var channel это всё же "server" включая каналы (связь one to many).

А так да, можешь хоть каждый раз дёргать, а можешь выбрать один раз все сервера и получать их из этого списка, тем более, что выборка в GET_CHANNEL_LIST по индексу, а не по Id.

про "var channel" еще такой вопрос , ты имеешь ввиду переименовать лучше или как то проще можно использовать , раз это тоже сервер?

PROGRAMMATOR 31.01.2018 21:14

Re: PROTOCOL_BASE_GET_SYSTEM_INFO_ACK
 
CoolStoryBob var server.


Текущее время: 22:24. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot