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