msgpack-rpc-cli icon indicating copy to clipboard operation
msgpack-rpc-cli copied to clipboard

Provide example of user-defined class as RPC return type. (C#)

Open starthal opened this issue 9 years ago • 2 comments

I am trying to call an RPC function bar() that returns a value of type Foo. Foo is an identical class on both the server and client.

The dynamic proxy always returns a MessagePackObject, and it's possible to dynamically cast this to a basic type (i.e. ulong). But a compile-time error results if I try to cast it to Foo.

I understand that a serializer for Foo can be created and registered in the SerializationContext, but this doesn't change the fact that I can't perform a cast upon the MessagePackObject returned by the call.

Is it possible to convert the return value to Foo? If it is, could someone please provide a simple example?

starthal avatar Jan 27 '16 17:01 starthal

http://cli.msgpack.org/doc/html/M_MsgPack_MessagePackObject_op_Explicit_13.htm

Remember that it is a wrapper. Unwrap it first.

ronaldpschutte avatar Sep 28 '17 00:09 ronaldpschutte

I spent several hours today digging through documentation and code for an answer to this and have had no luck. At best, the documentation is extremely lacking for both this lib and msgpack-cli and at worst it seems this repo is dead anyway...

So to any unlucky souls that arrive here after me, keep searching.

jrdmellow avatar Sep 19 '19 04:09 jrdmellow