前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】2023年01月 Dapr分布式应用运行时-Dapr运行.Net Core程序

【愚公系列】2023年01月 Dapr分布式应用运行时-Dapr运行.Net Core程序

作者头像
愚公搬代码
发布2023-01-11 11:10:58
3210
发布2023-01-11 11:10:58
举报
文章被收录于专栏:历史专栏

文章目录

  • 前言
  • 一、Dapr运行.Net Core程序
    • 1.创建应用
    • 2.添加 Dapr 状态管理
    • 3.Program类如下
    • 3.运行程序
  • 原理说明

前言

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包

代码语言:javascript
复制
dotnet add package Dapr.Client
在这里插入图片描述
在这里插入图片描述

3.Program类如下

代码语言:javascript
复制
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运行程序

代码语言:javascript
复制
dapr run --app-id DaprCounter dotnet run
在这里插入图片描述
在这里插入图片描述

可以看到redis中已经有计数器的数据

在这里插入图片描述
在这里插入图片描述

原理说明

代码语言:javascript
复制
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 //什么程序可以访问
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023/01/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 一、Dapr运行.Net Core程序
    • 1.创建应用
      • 2.添加 Dapr 状态管理
        • 3.Program类如下
          • 3.运行程序
          • 原理说明
          相关产品与服务
          容器镜像服务
          容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档