gRPC入门学习之旅(一) gRPC入门学习之旅(二) gRPC入门学习之旅(三) gRPC入门学习之旅(四) gRPC入门学习之旅(五) gRPC入门学习之旅(六) 3.6、创建gRPC的桌面应用客户端 1.在VisualStudio2022菜单栏上选择“文件—》新建—》项目”。 或者在VisualStudio2022的解决方案资源管理器中,使用鼠标右键单击“解决方案‘Demo.GrpcService’”,在弹出的快捷菜单中选择“添加—》新建项目”。如下图。 2.VisualStudio2022弹出的“创建新项目”的...
gRPC入门学习之旅(一) gRPC入门学习之旅(二) gRPC入门学习之旅(三) gRPC入门学习之旅(四) gRPC入门学习之旅(五) 3.3、客户端编译生成GRPC类 1.在“解决方案资源管理器”中,使用鼠标左键选中项目名称“Demo.Grpc.Cmd”,然后单击鼠标右键,在弹出的快捷菜单中选择“重新生成”菜单项。 2.在“解决方案资源管理器”中,使用鼠标左键选中项目名称“Demo.Grpc.Cmd,在弹出的快捷菜单中选择“在文件资源管理器中打开文件夹”菜单项。如下图。 3.我们打开“文件资源管理器”,进入到Demo.Grpc....
gRPC入门学习之旅(一) gRPC入门学习之旅(二) gRPC入门学习之旅(三) gRPC入门学习之旅(四) 通过之前的文章,我们已经创建了gRPC的服务端应用程序,那么应该如何来使用这个服务端应用程序呢,接下来介绍如何通过客户端来使用这个服务端应用程序。 3、创建gRPC客户端  ...
gRPC入门学习之旅(一) gRPC入门学习之旅(二) gRPC入门学习之旅(三) 实现定义的服务 9.在“解决方案资源管理器”中,使用鼠标左键选中“Services”文件夹,然后在菜单栏上,依次选择“添加-->新建项”。 10.在“添加新项”对话框中,选择“ASP.NETCore-->代码”节点,然后选择“类”项。 11.在“名称”文本框中,输入UserService.cs,然后选择“添加”按钮。如下图。 12.在文本编辑器打开的UserService.cs类文件,编写如下代码: usingDemo.GrpcService.Proto...
gRPC入门学习之旅(一) gRPC入门学习之旅(二) 2.3、创建自定义服务 除上面的模板中自带的一个gRPC服务之后,我们再创建一个自己的服务,我将创建一个用户信息gRPC服务,主要功能有三个,登录、获取用户信息、修改用户信息。 创建UserInfo.proto协议文件 在“解决方案资源管理器”中,使用鼠标左键选中“Protos”文件夹,然后在菜单栏上,依次选择“添加-->新建项”。如下图。 在“添加新项”对话框中,选择“ASP.NETCore-->常规”节点,然后选择“协议缓冲区文件”项。 在“名称”文本框中,输入UserInfo.p...
gRPC入门学习之旅(一) gRPC是一个高性能、通用的开源远程过程调用(RPC)框架,基于底层HTTP/2协议标准和协议层Protobuf序列化协议开发,支持众多的开发语言,由Google开源。 gRPC也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个gRPC服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。 gRPC客户端和服务端...
gRpc简介 gRPC是Google公司开发的基于HTTP/2设计,面向移动的一个高性能、开源和通用的RPC框架,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。 gRpc官网地址:https://www.grpc.io gRpc中文文档地址:http://doc.oschina.net/grpc gRPC是一款RPC框架,那么先了解Rpc是什么。 Rpc基本概念 RPC(RemoteProcedureCall)远程过程调用,是一种通过网络从远程计算机程序上请求服务,而不...
学习ASP.NETCoreBlazor编程系列文章之目录 学习ASP.NETCoreBlazor编程系列一——综述 学习ASP.NETCoreBlazor编程系列二——第一个Blazor应用程序(上) 学习ASP.NETCoreBlazor编程系列三——实体 学习ASP.NETCoreBlazor编程系列五——列表页面 学习ASP.NETCoreBlazor编程系列七——新增图书 学习ASP.NETCoreBlazor编程系列八——数据校验 学习ASP.NETCoreBlazor编程系列十三——路由(完) 学习ASP.NETCoreBlazor...
学习ASP.NETCoreBlazor编程系列文章之目录 学习ASP.NETCoreBlazor编程系列一——综述 学习ASP.NETCoreBlazor编程系列二——第一个Blazor应用程序(上) 学习ASP.NETCoreBlazor编程系列三——实体 学习ASP.NETCoreBlazor编程系列五——列表页面 学习ASP.NETCoreBlazor编程系列七——新增图书 学习ASP.NETCoreBlazor编程系列八——数据校验 学习ASP.NETCoreBlazor编程系列十三——路由(完) 学习ASP.NETCoreBlazor...
Abp(netcore)+easyui+efcore实现仓储管理系统目录 abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+easyui+efcore实现仓储管理系统——定义仓储并实现(四) abp(netcore)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(netcore)+...
Abp(netcore)+easyui+efcore实现仓储管理系统目录 abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+easyui+efcore实现仓储管理系统——定义仓储并实现(四) abp(netcore)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(netcore)+...
Abp(netcore)+easyui+efcore实现仓储管理系统目录 abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+easyui+efcore实现仓储管理系统——定义仓储并实现(四) abp(netcore)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(netcore)+...
Abp(netcore)+easyui+efcore实现仓储管理系统目录 abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+easyui+efcore实现仓储管理系统——定义仓储并实现(四) abp(netcore)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(net...
Abp(netcore)+easyui+efcore实现仓储管理系统目录 abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+easyui+efcore实现仓储管理系统——定义仓储并实现(四) abp(netcore)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(netcore)+...
abp(netcore)+easyui+efcore实现仓储管理系统目录 abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+easyui+efcore实现仓储管理系统——定义仓储并实现(四) abp(netcore)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(netcore)+...
abp(netcore)+easyui+efcore实现仓储管理系统目录 abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+easyui+efcore实现仓储管理系统——定义仓储并实现(四) abp(netcore)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(netcore)+...
WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window介绍 WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十五——WPF中的数据绑定(一) WPF技术的主要特点是数据驱动UI,所以在使用WPF技术开发的过程中是以数据为核心的,WPF提供了数据绑定机制,当数据发生变化时,WPF会自动发出通知去更新UI。 &...
WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window介绍 WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十五——WPF中的数据绑定(一) 三、DataGrid列的类型 默认情况下,当我们为DataGrid控件设置ItemSource属性后,DataGrid会根据数据类型自动生成相应的列,数据表格中的每一行都绑定到数据源中的一个对象,数...
WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window介绍 WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十五——WPF中的数据绑定(一) 五、DataGrid的DataGridComboBoxColumn列的绑定方式 在上一篇文章的示例中,存在一个问题,在点击“刷新”按钮之后,城市这个ComboBox列的数据没有显示。 DataGridComboBoxColumn列如果...
WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window介绍 WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十五——WPF中的数据绑定(一) 计算机界的顶极大牛们,站在金字塔尖的专家们,发明了模式,并大力推广模式,其目的就是想要达到高内聚低耦合。在WPF开发中,经典的编程模式是MVVM,是为WPF量身定做的模式,该模式充分利用了WPF的数据绑...