zoukankan      html  css  js  c++  java
  • Net Core 3.0 尝鲜指南

    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="Protosfirst.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,提供上下文的一些信息。

    鸟文名:YamatAmain
    地 址:http://www.cnblogs.com/YamatAmain/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    【C语言疯狂讲义】(三)C语言运算符
    RAII手法封装相互排斥锁
    《Java并发编程实战》第十一章 性能与可伸缩性 读书笔记
    Nginx之红黑树
    我第一家互联网公司产品开发周期
    javascript中的XML
    哈夫曼树
    【HttpClient4.5中文教程】【第一章 :基础】1.1运行请求(二)
    H3C开启Ssh
    H3C创建本地用户
  • 原文地址:https://www.cnblogs.com/YamatAmain/p/11583492.html
Copyright © 2011-2022 走看看