com.armatsoftware.code.engine
2.0.0
See the version list below for details.
dotnet add package com.armatsoftware.code.engine --version 2.0.0
NuGet\Install-Package com.armatsoftware.code.engine -Version 2.0.0
<PackageReference Include="com.armatsoftware.code.engine" Version="2.0.0" />
paket add com.armatsoftware.code.engine --version 2.0.0
#r "nuget: com.armatsoftware.code.engine, 2.0.0"
// Install com.armatsoftware.code.engine as a Cake Addin
#addin nuget:?package=com.armatsoftware.code.engine&version=2.0.0
// Install com.armatsoftware.code.engine as a Cake Tool
#tool nuget:?package=com.armatsoftware.code.engine&version=2.0.0
Code Engine
Code Engine is a simple, yet powerful, code execution engine. It is designed to be used in applications, where you want to empower your business users to maintain fragments of the application logic in a secure and controlled environment.
Why Code Engine?
Code Engine allows a simple integration of code execution in your web application. It is designed to be secure and easy to use. It is also designed to be easily extendable, so you can add your own implementations to it.
For brand new products, adding Code Engine is as easy as adding the NuGet package to your solution, adding some initialization code, injecting specific "executors" throughout your application, and either providing hard-coded logic for their implementation or handing the responsibility to maintain that custom logic to your business users.
For existing products, you can use Code Engine to replace some of the existing logic with a more flexible and maintainable solution. It is easy to incorporate into ane existing application because it works with the existing dependency injection framework in ASP.NET Core.
Code Engine is as close to the performance of the compiled and deployed code as it gets. It is designed to be fast and efficient, to be used in a multi-threaded environment.
What's in this version?
First, I separated the provision of the actions for the compiler from the management of actions. There is a default implementation for the IActionProvider
contract that works with the default implementation of the IActionRepository
contract - the management interface of the actions using file system.
What's next?
I am looking at a number of improvements:
- Visibility into the action execution: logging, metrics, etc.
- Traceability of the action execution: tracing, etc.
- User-friendly editor for the actions: development, testing, etc.
Links
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- Microsoft.CodeAnalysis.CSharp (>= 3.6.0)
- Microsoft.CodeAnalysis.VisualBasic (>= 3.6.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 3.1.32)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- Newtonsoft.Json (>= 13.0.3)
- System.CodeDom (>= 4.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.