Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hprose for dotnet 3.0用户手册 #68

Open
linjianshu opened this issue Sep 28, 2020 · 8 comments
Open

hprose for dotnet 3.0用户手册 #68

linjianshu opened this issue Sep 28, 2020 · 8 comments

Comments

@linjianshu
Copy link

小马哥请问有没有hprose3.0的用户手册呀(官网推荐的群一直进不去,可能人满了),hprose应用到我们项目组目前成效不错,但手头上只有1.3版本的文档资料,我想多收集点资料说服领导将其应用到其他项目组,麻烦啦!

@andot
Copy link
Member

andot commented Oct 7, 2020

3.0 的文档在这里:https://github.com/hprose/hprose/wiki

不过没写完,只写了一部分开发者文档,用户手册没写。

@linjianshu
Copy link
Author

好滴好滴,能看得懂谢谢小马哥!!另外我想问问hprose的拦截器有示例吗,开发者文档里说3.0版本都在插件处理器里了,但是没有什么实例诶

@andot
Copy link
Member

andot commented Oct 15, 2020

插件本身就是拦截器,现有的那些插件都是实例,你稍微看看就知道怎么用了。

@linjianshu
Copy link
Author

好滴好滴这两天有在看InvokeHandlers和IoHandlers的机制,想自己实现一个拦截器功能的,但是自己的基础并不是特别好,想问问我打算通过service端的iohandler获取RemoteEndPoint,然后做一个简单的逻辑判断,如果是service端允许的RemoteEndPoint,就执行远程调用,如果不是就返回空。我不知道这个想法合不合适,或者还有没有更合适的方法呢?想请教一下,另外本来打算通过iohandler中获取context的请求头,但是不知道为何打断点的时候新建的iohandler里context请求头count=0,所以才打算用的RemoteEndPoint,这个有办法解决吗?谢谢!!

@andot
Copy link
Member

andot commented Oct 19, 2020

Service 端的 IOHandler 的 Context 参数确实可以获取到 RemoteEndPoint,判断之后,如果要继续执行就执行 Next 并返回 Next 的执行结果,如果不继续执行你可以返回任何你想返回的东西,比如返回 null,抛异常等等。

@linjianshu
Copy link
Author

好滴好滴,谢谢小马哥!感觉小黄鸭调试法很适合我hhh码了一点字之后几个小时就顺利解决了,就是不足的是我定义了一个dictionary用来存放ip地址作为准入的kv键值对,但是每次调用服务的时候都会被iohandler拦截一下再做个判断,这样会不会很影响效率鸭,我后续可能还要再做改进,另外感谢小马哥每次有问必答,后续的几个月里项目组可能还需要用hprose自定义一些组件,可能还会麻烦小马哥啦,万分感谢!!!

@andot
Copy link
Member

andot commented Oct 20, 2020

对性能的影响基本上忽略不及,我测试过目前实现的那些插件,加上和不加对 qps 没有影响,有些加上还会更快(并发控制那些)。

@linjianshu
Copy link
Author

好嘞好嘞!感谢感谢!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants