ClassRoom ClassRoom是一个练手demo,目的是为了能熟悉掌握Orleans的基本知识和使用方法,我会尽量在这个项目中加入更多的知识点,一边学一边练避免我看完文档就忘掉 创建项目 依旧是四个项目起步 项目名称 项目类型 项目说明 IGrains .net Core 3.1 类库 Grain接口库 Grains .net Core 3.1 类库 实现Grain的类库 Silo_ConsoleApp .net Core 3.1 控制台 Silo服务 Client_ConsoleApp…
简介 Orleans用起来的确很爽,更爽的是咱们有能监控它的工具. OrleansDashboard 这个工具是一个可视化的Silo监控工具,Silo和Grain的活跃状态一目了然,各个接口的响应速度也可以很清晰的统计到. 安装 使用NuGet引用 OrleansDashboard 然后修改 SiloHostBuilder 的配置,添加Dashboard: new SiloHostBuilder() .UseDashboard(options => { }) .Build(); 启动Silo,然…
简介 在这一节,我们将介绍如何在Silo和Client中获取Grain及调用Grain Grain获取方式 从Grain内部获取: //根据特定的Key值创建或获取指定的Grain IStudent student = GrainFactory.GetGrain<IStudent>(studentID); 从Client获取: IStudent player = client.GetGrain<IStudent>(studentID); 应用 我们在项目中新增一个教室的概念,学生入…
服务端配置 Silo通过SiloHostBuilder和许多补充选项类以编程方式进行配置. Silo配置有几个关键方面: Orleans集群信息 集群提供程序(不知道咋翻译) Silo到Silo和Client到Silo通信的端点 应用部分 这是Silo配置的示例,该Silo配置定义群集信息,使用Azure群集并配置应用程序部分: var silo = new SiloHostBuilder() // 集群信息 .Configure<ClusterOptions>(options => {…
前言 Orleans是一个跨平台的框架,用于搭建可扩展的分布式应用程序 第一次接触Orleans还是两年前做游戏服务器的时候,用SignalR+Orleans的组合,写起代码来不要太爽. 即将进入2020年,NET Core也在前几天发布了3.1版本,于是决定把Orleans拿出来再学习学习. 学习前的准备 学习Orleans之前,建议大家先阅读一下官方文档:Orleans 对它有一个基本印象之后再对 Actor 模型有一个基本了解,本文更多的是学习笔记,可能对理论相关的知识会讲述的较少,网上有…
客户端配置 通过一个ClientBuilder和多个补充选项类,以编程方式配置一个用于连接Silo集群并将请求发送至Grain的客户端. 客户端配置示例: var client = new ClientBuilder() // 集群信息 .Configure<ClusterOptions>(options => { options.ClusterId = "my-first-cluster"; options.ServiceId = "MyOrleansSe…
本地开发配置 本地开发和调试的时候,我们可能不需要去关注集群和网络ip端口.所以对于本地开发模式,Orleans给了我们比较简单的配置方式. Silo配置 在本地开发的配置模式下,Orleans会默认使用本地11111和30000作为Silo和网管的监听端口 此时我们需要ClusterOptions通过ISiloBuilder.Configure方法进行配置. ConfigureApplicationParts用于将带有Grain类的程序集显式添加到应用程序设置中.由于WithReference…
项目结构 开始Orleans之前,我们都知道Orleans主要可以分为俩部分,Host和Client. 所以我们可以创建如下的项目结构: IGrain 一个包含Grain接口的库(.NET Standard 2.1) Grain 一个包含Grain类的库(.NET Standard 2.1) Host 一个控制台应用程序,用来托管我们的Silo(.NET Core 3.1) Client 一个控制台应用程序,用来做我们的Orleans客户端(.NET Core 3.1) Orleans引用 Nu…
原文:http://blog.csdn.net/lihongxun945/article/details/48951199 前面我们已经可以在一个Activity中添加一些按钮之类的组件.由于手机的屏幕很小,所以很多时候我们会需要用到工具栏,通过下拉菜单之类的方式来节省空间. Android 提供了对工具栏按钮的强大支持. 增加一个工具栏按钮 我们现在给 MainActivity 增加一个搜索按钮.增加一个按钮需要做这三件事 一,在 res/menu/activity_main.xml 中增加一…
ASP.NET Core MVC 网站学习笔记 魏刘宏 2020 年 2 月 17 日 最近因为” 新冠” 疫情在家办公,学习了 ASP.NET Core MVC 网站的一些知识,记录如下. 一.新建项目及基本结构 我们要新建的是 “ASP.NET Core Web 应用程序” 类型的项目: 起名之后选择 .NET Core 分类下的 “Web 应用程序 (模型视图控制器)” 模板,也就是 MVC 类型的模板,然后创建即可: 创建后结构如下图: wwwroot 存放网站的 js.css 等前端文…