【愚公系列】2023年01月 Dapr分布式应用运行时-Dapr运行.Net Core程序
2023-06-13 09:16:40 时间
文章目录
前言
Dapr能运行各种各样的应用程序包含python、java、node、.net等。
Dapr 使用主要有两种模式:
- 基于docker内
- 初始化时选择docker外
初始化时选择docker外相关文档:https://docs.dapr.io/operations/hosting/self-hosted/self-hosted-no-docker/
本文主要是讲解.net技术栈的使用。
一、Dapr运行.Net Core程序
1.创建应用
打开vs创建控制台应用程序
2.添加 Dapr 状态管理
安装Dapr包
dotnet add package Dapr.Client
3.Program类如下
using Dapr.Client;
const string storeName = "statestore";
const string key = "counter";
var daprClient = new DaprClientBuilder().Build();
var counter = await daprClient.GetStateAsync<int>(storeName, key);
while (true)
{
Console.WriteLine($"Counter = {counter++}");
await daprClient.SaveStateAsync(storeName, key, counter);
await Task.Delay(1000);
}
更新的代码实现以下步骤:
- 首先,会实例化一个新的 DaprClient 实例。 此类使你能够与 Dapr 进行交互。
- 从状态存储中,DaprClient.GetStateAsync 会提取 counter 键的值。 如果该键不存在,会返回 int 的默认值(即 0)。
- 然后,代码将循环访问,将 counter 值写入控制台并将递增的值保存到状态存储中。
3.运行程序
使用如下dapr运行程序
dapr run --app-id DaprCounter dotnet run
可以看到redis中已经有计数器的数据
原理说明
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: statestore //组件名
namespace: production //组件所在命名空间
spec:
type: state.redis //组件类型
version: v1 //组件版本
metadata: //组件信息
- name: redisHost //redis主机ip
value: localhost:6379
- name: redisPassword //redis密码
value: ""
- name: actorStateStore
value: "true"
scopes:
- DaprCounter //什么程序可以访问
相关文章
- net/net core 压缩和解压文件类—完美支持Linux
- ASP.NET Core 6框架揭秘实例演示[31]:路由"高阶"用法
- 【愚公系列】2022年11月 .NET CORE工具案例-.NET Core执行JavaScript
- Azure DevOps Pipelines部署.Net Core 应用到Kubernetes
- .NET周报【1月第1期 2023-01-06】
- 【愚公系列】2022年12月 .NET CORE工具案例-BackgroundService实现任务调度
- 【愚公系列】2022年12月 .NET CORE工具案例-.NET Core使用ExcelMapper
- 【愚公系列】2023年01月 .NET CORE工具案例-DeveloperSharp的使用(数据库)
- 在 Asp.Net Core 中什么是认证和授权
- .NET 7+ Vue 3 + EF Core 框架简洁功能完整的WMS系统
- 【愚公系列】2023年01月 .NET CORE工具案例-使用pythonnet实现C#和Python的融合调用
- 【愚公系列】2023年01月 .NET/C#知识点-EF Core性能优化之显示编译
- 【愚公系列】2023年02月 .NET CORE工具案例-ChatGPT和.NET Core应用的结合
- 【愚公系列】2023年02月 .NET CORE工具案例-Workflow-Core轻量级工作流引擎(简单使用)
- 发布ASP.NET Core程序到Linux生产环境详解编程语言
- NLog在.NET Core Console Apps中的简单应用详解编程语言
- Oracle 等待事件 SQL*Net more data to client 官方解释,作用,如何使用及优化方法
- NET环境下操作Oracle数据库的技巧(.net操作oracle)
- Core环境下安装Mysql数据库(core 安装mysql)
- 使用NET来连接MySQL数据库的简单方法(.net怎么连mysql)
- NET与MySQL实现无缝连接(.net mysql连接)
- NET 对MySQL 的支持有限(.net不支持mysql)
- asp.net下OnClientClick的妙用!
- asp.net对URL含有中文参数的转换
- asp.net大文件上传控件
- asp.net面试+笔试题目
- asp.net组件开发中的内嵌资源引用
- asp.net错误页面处理示例分享
- ASP.NET配置文件Web.config用法详解
- C#(.net)水印图片的生成完整实例
- asp.net中控制反转的理解(文字+代码)