Как получить результат из функции вызова Progaudi.tarantool.clientC#

Место общения программистов C#
Ответить
Anonymous
 Как получить результат из функции вызова Progaudi.tarantool.client

Сообщение Anonymous »

Мне нужно вызвать функцию LUA в Tarantool из приложения .NET. Я выбрал последний пакет progaudi.tarantool.client.
Подключение есть, данные передаются, но я никоим образом не могу получить DataResponce при вызове метода вызова. < /P>
Пример кода: < /p>

Код: Выделить всё

var box = Box.Connect("localhost:3301").Result;
var turple = TarantoolTuple.Create(3);
var result = box.Call("get_message_by_id", turple).Result;
< /code>
Функция LUA и пространственного формата: < /p>
box.schema.create_space('messages', { if_not_exists = true, format = { { name
= 'id', type = 'integer' }, { name = 'from', type = 'string' }, { name = 'to', type = 'string' }, { name = 'from_to_hash', type = 'integer' }, {
name = 'sending_time', type = 'datetime' }, { name = 'text', type = 'string' } } } )

lua_code = [[function(key) local result = box.space.my_space:get(key) if result then return result else return 'Key not found' end end]]
box.schema.func.create('get_message_by_id', { language = 'LUA', body = lua_code })
< /code>
сам тарантул показывает все:
Введите описание изображения здесь < /p>
Пробуя каждую комбинацию для Turple: Byte [], String, Long, Int , DateTime ...
Ошибки различны для различных конфигураций, но все связаны с невозможностью преобразовать один в другой, даже если параметры правильно указаны. < /P>
Я не нашел адекватную транскрипцию для кодов: < /p>

 serializationException: ждал int, получил 215 (0xd7) < /li>
< li> serializationException: at 3 (0x03), ожидая одного из них:
fixstr, str8, str16, str32 < /li>
 serializationexception: Got 215 (0xd7), ожидая одного из Это: Array16, Array32, FixArray, Null < /li>
< /ul>
попытался создать сущность, но это не сработало ни < /p>
[MsgPackArray]
public class MessageEntityMessagePack
{
[MsgPackArrayElement(0)]
public long Id { get; set; }
[MsgPackArrayElement(1)]
public string From { get; set; }
[MsgPackArrayElement(2)]
public string To { get; set; }
[MsgPackArrayElement(3)]
public long FromToHash { get; set; }
[MsgPackArrayElement(4)]
public DateTime SendingTime { get; set; }
[MsgPackArrayElement(5)]
public string Text { get; set; }
}
Необходимо просто получить ответ.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -client-pa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»