在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Orleankka源码下载:Microsoft Orleans的函数式API扩展

Orleankka源码下载:Microsoft Orleans的函数式API扩展

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.59M
  • 下载次数:0
  • 浏览次数:32
  • 发布时间:2024-04-01
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】
Orleankka是一个为Microsoft Orleans框架设计的函数式扩展库。它提供了一个与Akka/ProtoActor相似的基于消息的API,这个API是精心设计并构建在Orleans之上的。Orleankka是一个非常适合需要可组合、统一通信接口的用例的选择,例如命令查询责任分离(CQRS)、事件溯源、有限状态机(FSM)等。

特点:
- 基于消息的API,零性能开销
- 可切换的actor行为,内置层次化FSM(行为)
- 附加API简化长时间运行的后台任务(jobs)编程
- 强大的actor/proxy中间件(拦截器)
- 方便的单元测试套件(stubs, mocks, expectations)

如何安装:
要通过NuGet安装Orleankka客户端库,请在NuGet包管理器控制台运行以下命令:
PM> Install-Package Orleankka.Client

对于服务器端库:
PM> Install-Package Orleankka.Runtime

请查看“入门指南”了解更多信息。构建源代码需要安装VS2019和.NET Core 3.x。克隆仓库并从解决方案的根文件夹在CLI中运行以下命令:
PM> Nake.bat

这将恢复依赖项并以调试模式构建所有内容。使用-T开关运行Nake.bat以查看可用命令。在MacOS/Linux发行版上,使用下面的脚本来构建、打包或运行测试:
$> ./nake.sh

示例:
- Hello, world! [演示]
- "WebScan" [演示]
- TestKit [演示]
- 事件溯源
- 习惯用法 (CQRS)
- 持久性: GetEventStore
- 持久性: Streamstone
- 重入消息
- 客户端观察者
- 流
- 可切换行为

【实例截图】
【核心代码】
文件清单
└── Orleankka-09421f9f97ce9059d0725a336d523286adedaca0
    ├── app.js
    ├── appveyor.yml
    ├── Directory.Build.props
    ├── Docs
    │   ├── articles
    │   │   ├── intro
    │   │   │   ├── getting-started-csharp.md
    │   │   │   └── what-is-orleankka.md
    │   │   ├── migration
    │   │   │   └── from-15-to-20.md
    │   │   └── toc.yml
    │   ├── build.sh
    │   ├── docfx.json
    │   ├── filterConfig.yml
    │   ├── images
    │   │   ├── favicon.ico
    │   │   ├── Logo.Full.jpg
    │   │   └── Logo.png
    │   ├── index.md
    │   ├── release.sh
    │   ├── serve.sh
    │   ├── template
    │   │   ├── index.html.tmpl
    │   │   └── partials
    │   │       └── navbar.tmpl.partial
    │   └── toc.yml
    ├── LICENSE
    ├── LICENSE.txt
    ├── Logo.png
    ├── Logo.Wide.jpg
    ├── Nake.bat
    ├── Nake.csx
    ├── nake.sh
    ├── NuGet.Config
    ├── Orleankka.sln
    ├── Orleankka.sln.DotSettings
    ├── package.json
    ├── README.md
    ├── Samples
    │   ├── CSharp
    │   │   ├── Demo
    │   │   │   ├── Demo.App
    │   │   │   │   ├── Api.cs
    │   │   │   │   ├── ApiWorker.cs
    │   │   │   │   ├── App.config
    │   │   │   │   ├── App.cs
    │   │   │   │   ├── Demo.App.csproj
    │   │   │   │   ├── HttpException.cs
    │   │   │   │   ├── Program.cs
    │   │   │   │   ├── README.txt
    │   │   │   │   ├── Topic.cs
    │   │   │   │   ├── TopicStorage.cs
    │   │   │   │   └── Utility.cs
    │   │   │   └── Demo.App.Tests
    │   │   │       ├── ActorFixture.cs
    │   │   │       ├── ApiFixture.cs
    │   │   │       ├── App.config
    │   │   │       ├── Demo.App.Tests.csproj
    │   │   │       ├── Properties
    │   │   │       │   └── AssemblyInfo.cs
    │   │   │       ├── ReSharper.cs
    │   │   │       └── TopicFixture.cs
    │   │   ├── EventSourcing
    │   │   │   ├── Idiomatic
    │   │   │   │   ├── App.config
    │   │   │   │   ├── Domain.cs
    │   │   │   │   ├── Idiomatic.csproj
    │   │   │   │   ├── Infrastructure.cs
    │   │   │   │   ├── Messages.cs
    │   │   │   │   └── Program.cs
    │   │   │   └── Persistence
    │   │   │       ├── GES
    │   │   │       │   ├── App.config
    │   │   │       │   ├── Domain.cs
    │   │   │       │   ├── GES.csproj
    │   │   │       │   ├── Infrastructure.cs
    │   │   │       │   ├── Messages.cs
    │   │   │       │   └── Program.cs
    │   │   │       └── Streamstone
    │   │   │           ├── App.config
    │   │   │           ├── Domain.cs
    │   │   │           ├── Infrastructure.cs
    │   │   │           ├── Messages.cs
    │   │   │           ├── Program.cs
    │   │   │           └── Streamstone.csproj
    │   │   ├── FSM
    │   │   │   ├── Lightbulb
    │   │   │   │   ├── App.config
    │   │   │   │   ├── Lightbulb.cs
    │   │   │   │   ├── Lightbulb.csproj
    │   │   │   │   └── Program.cs
    │   │   │   └── ProcessManager
    │   │   │       ├── App.razor
    │   │   │       ├── appsettings.Development.json
    │   │   │       ├── appsettings.json
    │   │   │       ├── Copier.cs
    │   │   │       ├── Extensions.cs
    │   │   │       ├── _Imports.razor
    │   │   │       ├── Pages
    │   │   │       │   ├── _Host.cshtml
    │   │   │       │   ├── Jobs.razor
    │   │   │       │   └── Logs.razor
    │   │   │       ├── ProcessManager.csproj
    │   │   │       ├── Program.cs
    │   │   │       ├── Properties
    │   │   │       │   └── launchSettings.json
    │   │   │       ├── Shared
    │   │   │       │   ├── MainLayout.razor
    │   │   │       │   └── NavMenu.razor
    │   │   │       ├── Startup.cs
    │   │   │       ├── Storage.cs
    │   │   │       ├── Supervision.cs
    │   │   │       └── wwwroot
    │   │   │           ├── css
    │   │   │           │   ├── bootstrap
    │   │   │           │   │   ├── bootstrap.min.css
    │   │   │           │   │   └── bootstrap.min.css.map
    │   │   │           │   ├── open-iconic
    │   │   │           │   │   ├── font
    │   │   │           │   │   │   ├── css
    │   │   │           │   │   │   │   └── open-iconic-bootstrap.min.css
    │   │   │           │   │   │   └── fonts
    │   │   │           │   │   │       ├── open-iconic.eot
    │   │   │           │   │   │       ├── open-iconic.otf
    │   │   │           │   │   │       ├── open-iconic.svg
    │   │   │           │   │   │       ├── open-iconic.ttf
    │   │   │           │   │   │       └── open-iconic.woff
    │   │   │           │   │   ├── FONT-LICENSE
    │   │   │           │   │   ├── ICON-LICENSE
    │   │   │           │   │   └── README.md
    │   │   │           │   └── site.css
    │   │   │           ├── favicon.ico
    │   │   │           └── scripts.js
    │   │   ├── HelloWorld
    │   │   │   ├── App.config
    │   │   │   ├── HelloWorld.csproj
    │   │   │   └── Program.cs
    │   │   ├── Observers
    │   │   │   ├── Chat.Client
    │   │   │   │   ├── App.config
    │   │   │   │   ├── ChatClient.cs
    │   │   │   │   ├── Chat.Client.csproj
    │   │   │   │   └── Program.cs
    │   │   │   ├── Chat.Server
    │   │   │   │   ├── App.config
    │   │   │   │   ├── ChatRoom.cs
    │   │   │   │   ├── Chat.Server.csproj
    │   │   │   │   └── Program.cs
    │   │   │   └── Chat.Shared
    │   │   │       ├── Actors.cs
    │   │   │       ├── Chat.Shared.csproj
    │   │   │       └── Messages.cs
    │   │   ├── Reentrant
    │   │   │   ├── App.config
    │   │   │   ├── Program.cs
    │   │   │   ├── ReaderWriterLock.cs
    │   │   │   └── Reentrant.csproj
    │   │   ├── Shared.cs
    │   │   └── Streams
    │   │       ├── Chat.Client
    │   │       │   ├── App.config
    │   │       │   ├── ChatClient.cs
    │   │       │   ├── Chat.Client.csproj
    │   │       │   └── Program.cs
    │   │       ├── Chat.Server
    │   │       │   ├── App.config
    │   │       │   ├── Chat.Server.csproj
    │   │       │   ├── ChatUser.cs
    │   │       │   └── Program.cs
    │   │       └── Chat.Shared
    │   │           ├── Chat.Shared.csproj
    │   │           └── Messages.cs
    │   └── Directory.Build.props
    ├── Source
    │   ├── Directory.Build.props
    │   ├── Directory.Build.targets
    │   ├── Orleankka
    │   │   ├── ActorGrainInterface.cs
    │   │   ├── ActorMessage.cs
    │   │   ├── ActorPath.cs
    │   │   ├── ActorRef.cs
    │   │   ├── ActorRefExtensions.cs
    │   │   ├── ActorRefMiddleware.cs
    │   │   ├── ActorSystem.cs
    │   │   ├── Client
    │   │   │   └── ClientActorSystem.cs
    │   │   ├── ClientEndpoint.cs
    │   │   ├── ClientObservable.cs
    │   │   ├── ClientRef.cs
    │   │   ├── GrainReferenceInternals.cs
    │   │   ├── Http
    │   │   │   ├── ActorRouteMapper.cs
    │   │   │   ├── ActorRouteMapping.cs
    │   │   │   ├── HttpActorEndpoint.cs
    │   │   │   ├── HttpActorSystem.cs
    │   │   │   └── MessageRouteMapping.cs
    │   │   ├── IActorGrain.cs
    │   │   ├── IClientEndpoint.cs
    │   │   ├── LifecycleMessages.cs
    │   │   ├── Meta
    │   │   │   ├── Command.cs
    │   │   │   ├── Event.cs
    │   │   │   ├── Extensions.cs
    │   │   │   ├── Message.cs
    │   │   │   ├── Query.cs
    │   │   │   └── Result.cs
    │   │   ├── ObserverRef.cs
    │   │   ├── Orleankka.csproj
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   ├── Receive.cs
    │   │   ├── ReceiveResult.cs
    │   │   ├── ReferencedAssemblyHelper.cs
    │   │   ├── StreamMessages.cs
    │   │   ├── StreamPath.cs
    │   │   ├── StreamRef.cs
    │   │   ├── StreamRefExtensions.cs
    │   │   ├── StreamRefMiddleware.cs
    │   │   ├── StreamSubscription.cs
    │   │   ├── Syntax.cs
    │   │   └── Utility
    │   │       ├── Annotations.cs
    │   │       ├── DictionaryExtensions.cs
    │   │       └── Requires.cs
    │   ├── Orleankka.Client
    │   │   ├── ClientOptions.cs
    │   │   └── Orleankka.Client.csproj
    │   ├── Orleankka.Http.AspNetCore
    │   │   ├── Orleankka.Http.AspNetCore.csproj
    │   │   └── RoutingExtensions.cs
    │   ├── Orleankka.Legacy.Runtime
    │   │   ├── ActorAttributes.cs
    │   │   ├── Actor.cs
    │   │   ├── Behaviors
    │   │   │   ├── ActorBehavior.cs
    │   │   │   ├── BehaviorExtensions.cs
    │   │   │   ├── CustomBehavior.cs
    │   │   │   ├── Exceptions.cs
    │   │   │   └── Transition.cs
    │   │   ├── Cluster
    │   │   │   └── ClusterOptions.cs
    │   │   ├── Dispatcher.cs
    │   │   ├── Orleankka.Legacy.Runtime.csproj
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Orleankka.Runtime
    │   │   ├── ActorActivator.cs
    │   │   ├── ActorGrain.cs
    │   │   ├── ActorGrainImplementation.cs
    │   │   ├── ActorGrainMessages.cs
    │   │   ├── ActorMiddleware.cs
    │   │   ├── ActorRuntime.cs
    │   │   ├── Behaviors
    │   │   │   ├── Behavior.cs
    │   │   │   ├── BehaviorMessages.cs
    │   │   │   ├── State.cs
    │   │   │   ├── StateMachine.cs
    │   │   │   ├── Trait.cs
    │   │   │   └── Transition.cs
    │   │   ├── Cluster
    │   │   │   ├── ClusterActorSystem.cs
    │   │   │   ├── ClusterOptions.cs
    │   │   │   └── DashboardIntegration.cs
    │   │   ├── DispatchActorGrain.cs
    │   │   ├── Dispatcher.cs
    │   │   ├── Exceptions.cs
    │   │   ├── InvokeMethodRequestExtensions.cs
    │   │   ├── ObserverCollection.cs
    │   │   ├── Orleankka.Runtime.csproj
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   ├── Services
    │   │   │   ├── ActivationService.cs
    │   │   │   ├── BackgroundJobService.cs
    │   │   │   ├── GrainInternals.cs
    │   │   │   ├── ReminderService.cs
    │   │   │   └── TimerService.cs
    │   │   ├── StreamRefServerExtensions.cs
    │   │   └── TaskResult.cs
    │   └── Orleankka.TestKit
    │       ├── ActivationServiceMock.cs
    │       ├── ActorRefMock.cs
    │       ├── ActorRuntimeMock.cs
    │       ├── ActorSystemMock.cs
    │       ├── BackgroundJobServiceMock.cs
    │       ├── ClientObservableMock.cs
    │       ├── Expectations.cs
    │       ├── ExpressionExtensions.cs
    │       ├── MessageSerialization.cs
    │       ├── Meta
    │       │   └── Extensions.cs
    │       ├── ObserverCollectionMock.cs
    │       ├── ObserverRefStub.cs
    │       ├── Orleankka.TestKit.csproj
    │       ├── Properties
    │       │   └── AssemblyInfo.cs
    │       ├── ReminderServiceMock.cs
    │       ├── StreamRefMock.cs
    │       ├── StreamSubscriptionMock.cs
    │       └── TimerServiceMock.cs
    ├── Tests
    │   ├── Directory.Build.props
    │   ├── Orleankka.TestKit.Tests
    │   │   ├── ActorRefMockFixture.cs
    │   │   ├── ActorSystemMockFixture.cs
    │   │   ├── BackgroundJobServiceMockFixture.cs
    │   │   ├── Orleankka.TestKit.Tests.csproj
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   └── Orleankka.Tests
    │       ├── Checks
    │       │   ├── ActorPathFixture.cs
    │       │   ├── ActorRefFixture.cs
    │       │   ├── ClientRefFixture.cs
    │       │   ├── DispatcherFixture.cs
    │       │   ├── ObserverCollectionFixture.cs
    │       │   ├── StreamPathFixture.cs
    │       │   └── StreamRefFixture.cs
    │       ├── CSharp9.cs
    │       ├── Features
    │       │   ├── Actor_behaviors
    │       │   │   ├── BehaviorTester.cs
    │       │   │   ├── Hierarchical_state_machine.cs
    │       │   │   ├── Reusing_handlers_via_traits.cs
    │       │   │   └── Switchable_behaviors.cs
    │       │   ├── Actor_identity.cs
    │       │   ├── Background_jobs.cs
    │       │   ├── Externally_managed_lifecycle.cs
    │       │   ├── Http_rpc
    │       │   │   └── Request_response.cs
    │       │   ├── Intercepting_requests.cs
    │       │   ├── Message_based_timers.cs
    │       │   ├── Observing_notifications.cs
    │       │   ├── One_off_timers.cs
    │       │   ├── Reentrant_messages.cs
    │       │   ├── Reminders_idempotency.cs
    │       │   ├── Request_response.cs
    │       │   ├── State_persistence.cs
    │       │   ├── Stream_references.cs
    │       │   ├── Stream_subscriptions.cs
    │       │   ├── Strongly_typed_actors.cs
    │       │   └── Using_reminders.cs
    │       ├── Legacy
    │       │   └── Features
    │       │       └── Actor_behaviors
    │       │           ├── Behavior_failures.cs
    │       │           ├── @Mocks.cs
    │       │           ├── Reusing_handlers_via_traits.cs
    │       │           └── Switchable_behaviors.cs
    │       ├── Orleankka.Tests.csproj
    │       └── Testing
    │           ├── Converters.cs
    │           ├── TestActions.cs
    │           ├── TestActor.cs
    │           ├── TestActorSystem.cs
    │           └── Utility.cs
    └── Tools
        └── Tools.csproj

76 directories, 283 files

标签:

实例下载地址

Orleankka源码下载:Microsoft Orleans的函数式API扩展

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警