ToB企服应用市场:ToB评测及商务社交产业平台

标题: 3. Caller 服务调用 - dapr [打印本页]

作者: 熊熊出没    时间: 2022-8-20 09:31
标题: 3. Caller 服务调用 - dapr
前言

上一篇我们讲了使用HttpClient的方式调用,那么如果我们现在需要更换为通过dapr实现服务调用,我们需要做哪些事情呢?
Caller.Dapr 入门

如果我们的项目原本使用的是Caller.HttpClient,现在希望改为使用Caller.Dapr,那么我们需要做什么呢?
准备工作

现在Caller的HttpClient版本就可以使用了,分别启动Assignment.Server、Assignment.Client.DaprClientWeb服务,浏览器访问http://localhost:5042/Test/User/Get、http://localhost:5042/Test/User/Add,分别输出对应的获取用户信息成功以及创建用户成功的提示,则证明调用成功了
DaprClient 最佳实践

Assignment.Client.DaprClientWeb的写法比较简单,其用法与Assignment.Client.HttpClientWeb基本一致,与Caller.HttpClient类似,DaprClient我们推荐使用下面的写法:
最后,分别启动Assignment.Server、Assignment.Client.DaprClientWeb.V2服务,浏览器访问http://localhost:5102/Test/User/Get、http://localhost:5102/Test/User/Add,分别输出对应的获取用户信息成功以及创建用户成功的提示,则证明调用成功了
常见问题

在开发中我们会遇到各种各样的问题,下面就来列举几个我们项目中遇到的问题:
总结

使用Masa提供的Caller服务,有助于我们的项目在前期没有使用Dapr的情况下先利用Caller.HttpClient做缓冲,等后期时机成熟,只需要更改相对应的CallerBase即可,其他代码基本不需要调整,减轻了我们的开发成本,并且不同的Caller仍然可以很灵活的调整超时时间、Header等信息,并且Caller默认提供了处理异常的功能,当调用出错后,会自动抛出异常,让我们可以更专心的处理业务。
但目前Caller还有不足之处,目前Caller.Dapr版针对请求头处理的并不完善,除此之外,目前不支持Content-Type为非Json类型,这块功能会在0.5.0版本中加以支持完善
本章源码

Assignment03
https://github.com/zhenlei520/MasaFramework.Practice
开源地址

MASA.BuildingBlocks:https://github.com/masastack/MASA.BuildingBlocks
MASA.Contrib:https://github.com/masastack/MASA.Contrib
MASA.Utils:https://github.com/masastack/MASA.Utils
MASA.EShop:https://github.com/masalabs/MASA.EShop
MASA.Blazor:https://github.com/BlazorComponent/MASA.Blazor
如果你对我们的 MASA Framework 感兴趣,无论是代码贡献、使用、提 Issue,欢迎联系我们


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4