1. swagger

.Net Core 3.0中的swagger,必须引用5.0.0 及以上版本。可以在Nuget官网查看版本。目前最新版本(2019-9-25) 5.0.0rc3

Install-Package Swashbuckle.AspNetCore.Swagger -Version 5.0.0-rc3
Install-Package Swashbuckle.AspNetCore.SwaggerUi -Version 5.0.0-rc3
  1. 读取配置文件

    appsettings.json中定义json结构模块来映射到Model,免去了自己读取出来转实体的麻烦。但是呢,两边的名字必须是要一样的。

    具体参考:这里

  2. gRPC

    具体参考:这里

也可看我的demo:这里

public void ConfigureServices(IServiceCollection services)
{
//添加grpc
services.AddGrpc();
} public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(endpoints =>
{
//绑定mapping
endpoints.MapGrpcService<GreeterService>();
endpoints.MapGrpcService<FirstTestService>();
endpoints.MapGet("/", async context =>
{
await context.Response.WriteAsync("Communication with gRPC endpoints must be made through a gRPC client. To learn how to create a client, visit: https://go.microsoft.com/fwlink/?linkid=2086909");
});
});
}

first.proto:

//指定使用pb3
syntax = "proto3"; option csharp_namespace = "Core3Study.GRpc"; package First; // 定义服务
service FirstTest {
// Sends a greeting
rpc GetCacheValue (Request) returns (Reply);
} message Request {
string key = 1;
} message Reply {
string value = 1;
}

service的命名:.proto中service的名字,比如:firstTest,则service名为 FirstTestService,继承FirstTest.FirstTestBase.

都是自动生成的,前提是,需要在项目文件中添加

<ItemGroup>
<Protobuf Include="Protos\first.proto" GrpcServices="Server" />
</ItemGroup>

的引用。

public override Task<Reply> GetCacheValue(Request request, ServerCallContext context)
{
return Task.FromResult(new Reply()
{
Value = $"response {Cats[Rand.Next(0, Cats.Count)]}"
});
}

以上代码是根据.proto中定义的创建。

ServerCallContext类似于HttpContext,提供上下文的一些信息。

Net Core 3.0 尝鲜指南的更多相关文章

  1. Spring Boot 2.0(二):Spring Boot 2.0尝鲜-动态 Banner

    Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来尝尝鲜. 配置依赖 使用 Spring Boot 2.0 首先需要将项目依赖包替换为刚刚发 ...

  2. Spring Boot 2.0(一):Spring Boot 2.0尝鲜-动态 Banner

    Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来尝尝鲜 Spring Boot 更换 Banner 我们先来回顾一下在 Spring Bo ...

  3. Spring Boot 2.0尝鲜-动态 Banner

    配置依赖 使用 Spring Boot 2.0 首先需要将项目依赖包替换为刚刚发布的 2.0 RELEASE,现在网站https://start.spring.io/也将 Spring Boot 2. ...

  4. DingTalk钉钉消息推送(.net core 3 WebApi尝鲜记)

    我发了个朋友圈,Swagger真他妈的牛B,解放了开发API的码农,麻麻再也不用担心我们写API文档耽误回家吃饭了. /// <summary> /// 发送钉钉消息 /// </s ...

  5. webpack 4.0尝鲜

    发布不久得webpack 4.0据说速度快了68% - 98%,然后还支持没配置文件,所以看起来很牛逼得样子 所以尝试一发 webpack和webpack-cli分离 现在执行webpack命令 必须 ...

  6. Kubernetes 部署 Kubernetes-Dashboard v2.0.0 尝鲜

    目录· . 一.简介· . 二.兼容性· . 三.部署 Kubernetes Dashboard· . 1.Dashboard RBAC· . 2.创建 ConfigMap.Secret· . 3.k ...

  7. ASP.NET Core 3.0中使用动态控制器路由

    原文:Dynamic controller routing in ASP.NET Core 3.0 作者:Filip W 译文:https://www.cnblogs.com/lwqlun/p/114 ...

  8. .Net大局观(2).NET Core 2.0 特性介绍和使用指南

    .NET Core 2.0发布日期:2017年8月14日 前言 这一篇会比较长,系统地介绍了.NET Core 2.0及生态,现状及未来计划,可以作为一门技术的概述来读,也可以作为学习路径.提纲来用. ...

  9. .Net Core 2.0生态(3):ASP.NET Core 2.0 特性介绍和使用指南

    ASP.NET Core 2.0 发布日期:2017年8月14日 ASP.NET团队宣布ASP.NET Core 2.0正式发布,发布Visual Studio 2017 15.3支持ASP.NET ...

随机推荐

  1. (草稿)如何判断一名UiPath开发人员是否合格?

    一名合格的UiPath开发人员究竟需要具备什么核心技能?业务梳理?沟通技巧?VB.net吗?VBA吗?Python?还是SQL?出于多种原因,关于这一点总是众说纷纭,莫衷一是.尽管这些技术都算沾边,但 ...

  2. java web轻量级开发面试教程

    最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备 在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二 ...

  3. Python学习笔记六(免费获取代理IP)

    为获取网上免费代理IP,闲的无聊,整合了一下,免费从三个代理网站获取免费代理IP,目的是在某一代理网站被限制时,仍可从可以访问的其他网站上获取代理IP.亲测可用哦!^_^  仅供大家参考,以下脚本可添 ...

  4. AXN文档

    https://help.aliyun.com/document_detail/59705.html?spm=a2c4g.11186623.6.664.58a053afCvMM57 AXN api文档 ...

  5. [译]Vulkan教程(09)窗口表面

    [译]Vulkan教程(09)窗口表面 Since Vulkan is a platform agnostic API, it can not interface directly with the ...

  6. lxml

    lxml导入 Element类 节点List相关操作 节点属性相关操作 节点文本相关操作 节点遍历相关操作 节点序列化 ElementTree类 解析文件和字符串 对象解析 增量解析 事件驱动解析 命 ...

  7. Ubuntu设置开机时启动的系统内核版本

    1.查看系统当前安装的所有内核版本 有两种方法 第一种: 可以查看/lib/modules下的文件夹,一个文件夹对应一个内核版本,如下图: 第二种:使用下面的命令查看: dpkg --get-sele ...

  8. Docker容器日志路径

    /var/lib/docker/containers/容器ID/容器ID-json.log 可以通过这个路径收集日志到ES中

  9. python-schedule模块(定时任务)基于官方文档总结

    一.模块安装 pip3 install schedule 官方文档 二.常用的使用案例 #基本格式 #创建方法 def func(): print("方法") #创建定时 sche ...

  10. 如何获取input,file里的文件,实现预览效果,并传给后端?

    单纯的事件与获取 <input type="file" name="file" id="fileUpload"> <img ...