Я сталкиваюсь с проблемой. Я хочу конвертировать данные таблицы данных в формате protobuf. Моя таблица возвращает мне такие столбцы - PullRequest
1 голос
/ 24 июня 2019

Я столкнулся с проблемой. Я хочу конвертировать данные таблицы данных в формате protobuf. Моя таблица возвращает мне такие столбцы.

Идентификационное имя CellNo Город Страна 1 Джон +923462138434 KHI Пакистан 2 собственных +923462138435 LHR Пакистан

Я хочу преобразовать этот формат в формат protobuf. Существует следующий код, который я пытался ... [WebMethod] открытая строка Get_OrderInfo (строка Token) { SqlConnection conn = new SqlConnection (ConfigurationManager.ConnectionStrings ["DefaultConnection"]. ConnectionString); SqlCommand comm = new SqlCommand ();

    conn.Open();

    comm.Connection = conn;
    comm.CommandText = "SP_GetAll_Info";
    comm.CommandType = CommandType.StoredProcedure;
    comm.CommandTimeout = 0;

    comm.Parameters.Add("@Token", SqlDbType.NVarChar, 50).Value = Token;
    SqlDataReader reader = comm.ExecuteReader();
    reader.
        reader.RemotingFormat = SerializationFormat.Binary;



    conn.Close(); SqlConnection.ClearAllPools();
    return string.Empty;
}

1 Ответ

0 голосов
/ 24 июня 2019

IMO, вы должны сделать это в два этапа:

  1. Загрузить данные в объектную модель - класс со свойствами, соответствующими столбцам;Dapper сделает это без усилий
  2. Сериализация этого класса через protobuf;поскольку вы упоминаете protobuf-Net, это просто случай добавления атрибутов с тегами

Однако!Я не знаю, как интегрировать пользовательскую сериализацию с [WebMethod].На самом деле вы не можете сделать это, возвращая string, потому что protobuf не является текстом, если вы не собираетесь кодировать его в base-64, что добавило бы издержки

...