基于Dapr的Dotnet和Java间的服务调用
Java服务端[略]
请参考 Java基于Dapr的服务调用完成Java服务端的搭建
Dotnet客户端
1.创建Dotnet Webapi项目
dotnet new webapi -n dotnet_client_demo --no-https true
2.添加Dapr的ASP.NET依赖,[控制台项目只需要添加Client依赖就可以了]
cd dotnet_client_demo
dotnet add package Dapr.AspNetCore
3.容器中注册
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers().AddDapr();
// ...
4.控制器中使用
using Dapr.Client;
using Microsoft.AspNetCore.Mvc;
namespace dotnet_client_demo.Controllers;
[ApiController]
[Route("[controller]")]
public class ClientController : ControllerBase
{
private readonly ILogger<ClientController> _logger;
private readonly DaprClient _client;
private static readonly string SERVICE_APP_ID = "server_demo";
private static readonly string METHOD_NAME = "hello";
public ClientController(ILogger<ClientController> logger,DaprClient client )
{
_logger = logger;
_client = client;
}
[HttpGet("/say")]
public async Task<string> say() {
Dictionary<string,object> requestParams = new()
{
{"name","fanqi"}
};
Dictionary<string, object> response =
await _client.InvokeMethodAsync<Dictionary<string,object>,Dictionary<string,object>>(HttpMethod.Post, SERVICE_APP_ID, METHOD_NAME, requestParams);
return response["data"].ToString();
}
}
5.配置启动端口
appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"Urls": "http://*:9999"
}
若无法生效,请查看launchSettings.json是否对运行环境做了端口配置
6.新建启动配置
dapr run --app-id dotnet_client_demo --app-port 9999 --dapr-http-port 9001 -- dotnet run bin/Debug/net7.0/dotnet_client_demo.dll
7.测试【略】
作者:奇
出处:https://www.cnblogs.com/fanqisoft/p/17469492.html
版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。
如果文章内容对您有所帮助,欢迎赞赏.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-06-09 Sprint Data JdbcTemplate中一些操作