首页 > 其他分享 >微软微服务构建框架Dapr基础入门教程

微软微服务构建框架Dapr基础入门教程

时间:2023-11-03 18:23:28浏览次数:37  
标签:入门教程 微软 app cmd Dapr dapr 如图 安装

最近学习dapr,决定将过程在此记录,也为小伙伴们学习的时候提供一份参考。

Dapr的介绍这里就不多说了,大家直接可以去百度或者去官网上进行查阅,本文就简单介绍下如何使用。

Dapr官方中文文档

一、安装Dapr CLI

  选择与您使用的系统对应的安装方式即可,我这里使用的是windows系统,故使用windows系统做示例。

  1. 在线安装,使用管理员权限打开cmd,直接将一下命令粘贴进去执行就可以了(命令中的链接可能根据您的网络不同而出现连不上的情况,如果连不上,请使用第二种方式)。

powershell -Command "iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/install.ps1 | iex"

  2. 离线安装,将github中对应的软件包下载并安装就可以了。github地址

   3. 安装完成,在cmd输入dapr,如果出现以下结果,就说明安装成功,可以进行下一步了。

 二、本地初始化Dapr(安装dapr自带的中间件)。

  1. 使用前请安装docker

  2. 在cmd中输入命令dapr init,等待进行初始化(过程较慢,因为要拉取中间件的docker映像)

  3. 验证dapr版本。输入 dapr --version 查看当前dapr版本,如图

   4.验证docker容器的运行情况,如图

   5. 验证组件目录已初始化,cmd中输入 explorer "%USERPROFILE%\.dapr\" ,如出现以下弹窗,则成功,如图

 三、在代码中使用dapr

  1. 新建一个webapi项目,如图

   2. 稍作修改(不改也可,比较符合自身习惯)

   3. 生成一下项目,并在cmd中进入生成以后的项目的根目录,如图

   4. cmd中输入命令 

dapr run --app-id cart --app-port 5000 dotnet dapr.serv.one.dll

  dapr run表示启动dapr服务

  app-id表示服务id

  app-port表示服务端口(推荐app-port和服务中的端口设为一致)

  donet dapr.serv.one.dll 表示启动asp.net core程序的命令

  如图,表示成功启动

   5. 接下来,我们使用dapr的方式,来进行服务调用

        新建空控制台项目,并将dapr.serv.one中的WeatherForecast类复制到本项目中,在nuget中安装 Dapr.Client 类库和 Newtonsoft.Json 类库。

    开始调用,如图

   使用DaprClient调用的方式

     使用HttpClient的调用方式

     以下为图中代码:

using Dapr.Client;
using Newtonsoft.Json;

namespace ConsoleApp3
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var result = DaprTest().Result ?? new List<WeatherForecast>();
            Console.WriteLine(JsonConvert.SerializeObject(result));
        }

        public static async Task<IEnumerable<WeatherForecast>?> DaprTest()
        {
            var daprClient = new DaprClientBuilder().Build();
            return await daprClient.InvokeMethodAsync<IEnumerable<WeatherForecast>>(HttpMethod.Get, "cart", "WeatherForecast/GetWeatherForecast");
            
        }
    }
}

  

using Dapr.Client;
using Newtonsoft.Json;
using System.Net.Http.Json;

namespace ConsoleApp3
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var result = DaprTest().Result ?? new List<WeatherForecast>();
            Console.WriteLine(JsonConvert.SerializeObject(result));
        }

        public static async Task<IEnumerable<WeatherForecast>?> DaprTest()
        {
            var httpClient = DaprClient.CreateInvokeHttpClient(daprEndpoint: "http://localhost:51323", appId: "cart");
            return await httpClient.GetFromJsonAsync<IEnumerable<WeatherForecast>>("WeatherForecast/GetWeatherForecast");
        }
    }
}

  其中,daprEndpoint中的端口,要设置为dapr服务启动成功后给出的端口地址,而不是app地址,否则调用服务的时候调用不到。WeatherForecast/GetWeatherForecast 则表示服务的具体路径

     

    结果如下:

   好了,dapr的基础入门就介绍到这里,后续的订阅/发布及其他功能,如有时间,我会继续补充。

  本人也是小白刚刚入门,如有理解或者操作不对的地方,烦请朋友们指正。

  

 

标签:入门教程,微软,app,cmd,Dapr,dapr,如图,安装
From: https://www.cnblogs.com/w821759016/p/17808151.html

相关文章

  • 微软自动化测试工具palywright
    前言我们介绍许多e2e的自动化测试工具一类是基于Selenium的测试框架:robotframeworkgaugeSeleniumBaseseldom(我自己维护的)另一类是基于JS语言的测试工具:cypresspuppeteer前都本身就是基于Selenium的自动化测试工具,后者在测试人员这个圈子也是未能撼动Selenium的地位,我认为有两个......
  • 微软Xbox主机将推出韧体更新,为PG用户供便捷的电子游戏设置功能
    微软即将发布一次重要的韧体更新,特别面向Xbox主机,其中的主要功能包括控.制器键盘配置、Clipchamp集成以及用户偏好的诊断数据共享。首先,这次更新将引入新的键盘配置功能,允许玩家将XboxElite无线控.制器Series2和Xbox自适应控.制器的按键映射至键盘上。在XboxAccessories应用程序......
  • Android入门教程 | RecyclerView使用入门
    想必大家对列表的表现形式已经不再陌生。手机上有联系人列表,文件列表,短信列表等等。本文讲述的是在Android开发中用RecyclerView来实现列表效果。使用步骤引入RecyclerView在app的build.gradle文件中添加引用。我们使用的是androidx包。gradle:dependencies{//........
  • 微软全新人工智能Copilot加持!Win11 23H2将于9月26日正式发布
    微软在昨天举行秋季发布会,除了带来新的Surface硬件外,重头戏还有Win1123H2。在发布会上微软宣布将于本月26日发布Windows11的下一个大更新23H2,据介绍本次系统更新将会有超过150项新功能,包括新的人工智能驱动的WindowsCopilot功能、重新设计的文件资源管理器、针对手写笔用户的新......
  • Android入门教程 | RecyclerView使用入门
    想必大家对列表的表现形式已经不再陌生。手机上有联系人列表,文件列表,短信列表等等。本文讲述的是在Android开发中用RecyclerView来实现列表效果。使用步骤引入RecyclerView在app的build.gradle文件中添加引用。我们使用的是androidx包。gradle:dependencies{//........
  • 需要使用WinDbg工具来分析windows系统产生的dump文件,此工具属于Windows SDK的一个组件
    需要使用WinDbg工具来分析windows系统产生的dump文件,此工具属于WindowsSDK的一个组件,在微软官方网站可以下载(链接)。 使用WinDbg分析Windowsdump文件方法_windbg分析dump文件_谁能懂我2011的博客-CSDN博客......
  • 微软的.NET 8第二个预览版
    微软的.NET 8第二个预览版只是对第一次预览的“快速跟进”,主要改进了Blazor,用C#创建Web应用程序,而不是使用JavaScript。 预览2的改进虽然预览2引入了一些新的库功能,但Blazor方面的东西得到了一个高性能的网格组件,用于以表格形式显示数据,即QuickGrid。另一个改进是通过jiterpreter......
  • 微软今天发布了.NET 8 的首个预览版,正式版预估今年 11 月发布
    IT之家2月22日消息,微软今天发布了.NET8的首个预览版,适用于Windows、macOS和Linux的版本已经开发下载。微软计划未来每月发布新的预览版和候选版本,正式版预估将于今年11月在.NETConf2023上发布。 IT之家附.NET8的首个预览版的主要更新内容:NativeAhead-of-Time(AO......
  • 《安富莱嵌入式周报》第321期:开源12导联便携心电仪,PCB AI设计,150M示波器差分探头,谷歌
     视频版:https://www.bilibili.com/video/BV1ju4y1D7A8/1、开源12导联便携心电仪https://voltagedivide.com/2017/10/14/psoc-design-and-implementation-of-a-12-lead-portable-ecg/这个开源有完整的上位机,下位机和原理图,并且有一个详细的设计论文。12导联心电图是心电图检查中常......
  • xbox手柄 摇杆异响 微软 Xbox Elite 无线控制器 2 代 黑色
    有的说用wd40喷一下,润滑以后就好了有的说直接去微软换新 而我有个惊天发现!!!左摇杆是可以旋转的! 如果是左摇杆异响,可以试着左旋右旋调节一下,试试能否消除异响! 仅限左摇杆,因为右摇杆是固定的,拧不动 我的xbox手柄型号是微软XboxElite无线控制器2代......