不帅任你踹
不帅任你踹
什么也没传,肯定不对啊
$context->userdata 的用处并不是用于在客户端和服务器端传递数据用的。客户端的 $context 和服务器端的 $context 是独立的。userdata 不会在客户端和服务器端传递。本来就是这样设计的。
通过参数传递。你可以通过编写 invokeHandler 来自动添加 token 参数。
我对 tls 这套东西不是很了解,你自己查查资料吧。这部分是跟 hprose 独立的,设置都通用。
对 swagger 不了解,欢迎提交支持代码。
https://github.com/hprose/hprose-dotnet/tree/master/tests 看看这个有用吗
现在的这种做法是为了能够把 `DataTable` 这种数据传递给其它不支持 `DataTable` 的语言,所以转换为 `List` 的格式来传递。如果作为一个特殊的类来处理的话,比如设置 3 个字段:`name`,`columns`,`rows`,第一个字段为字符串,保存表名,第二个字段为 map,保存列名和类型,第三个字段为 list,保存行数据。这样的话,确实就可以解决你说的所有关于 `DataTable` 序列化和反序列化的问题。但是这样做的话,其它语言接受这个 `DataTable` 的数据时,就不能直接作为一个 `List` 的数据来使用了。只能在其它语言中自定义一个按照上面说的结构体才能使用了,感觉这样做的话,跨语言使用就不方便了。
嗯,可以再加一个序列化反序列化实现,想用哪种方式,就注册哪一种方式。
嗯,其实不用改 Hprose.IO 的代码,只需要自己实现一个 DataTable 序列化反序列化,然后注册一下代替默认注册的序列化和反序列化就行了。
https://github.com/hprose/hprose-dotnet/tree/master/tests/Hprose.UnitTests/RPC 这里有例子