Incoding.Core
1.3.0
See the version list below for details.
dotnet add package Incoding.Core --version 1.3.0
NuGet\Install-Package Incoding.Core -Version 1.3.0
<PackageReference Include="Incoding.Core" Version="1.3.0" />
paket add Incoding.Core --version 1.3.0
#r "nuget: Incoding.Core, 1.3.0"
// Install Incoding.Core as a Cake Addin #addin nuget:?package=Incoding.Core&version=1.3.0 // Install Incoding.Core as a Cake Tool #tool nuget:?package=Incoding.Core&version=1.3.0
<a href="http://incframework.com"><img class="aligncenter size-full wp-image-1738" src="http://blog.incframework.com/upload/IncFramework-logo.png" alt="IncFramework-logo" widht="100%" height="auto" /></a>
<p style="text-align: justify;"><strong>Incoding Framework</strong> is awesome tool for Full-stack development. Try it with our <a href="https://github.com/IncodingSoftware/get-started">Get Started guide</a></p>
Incoding Framework
is the opensource library for rapid development web/desktop-applications. Incoding Framework can be used for resolving different kinds of issues - it supports all development life cycle. Incoding Framework helps make more things with less code:
Incoding Framework supports different design patterns Framework provides base classes for using CQRS Meta Language allows to create "rich" client web-applications In framework you can find methods an classes for unit tests
Getting Started
Adding Javascripts :
<script src="~/js/jquery-1.10.2.js"></script>
<script src="~/js/underscore.js"></script>
<script src="~/js/jquery.form.js"></script>
<script src="~/js/jquery.history.js"></script>
<script src="~/js/jquery.validate.js"></script>
<script src="~/js/jquery.validate.unobtrusive.js"></script>
<script src="~/js/handlebars.js"></script>
<script src="~/js/incoding.framework.js"></script>
Configuring (replace your Startup.cs with this code):
public class IncodingStartup
{
public IncodingStartup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options =>
{
// Configure Error Handling for mvc controllers
options.Filters.Add(new IncodingErrorHandlingFilter());
})
.AddFluentValidation(configuration =>
{
// Setting up FluentValidation Validator Factory
configuration.ValidatorFactory = new IncValidatorFactory();
AssemblyScanner.FindValidatorsInAssemblyContaining<ItemEntityMap>().ForEach(result =>
{
services.Add(ServiceDescriptor.Transient(result.InterfaceType, result.ValidatorType));
services.Add(ServiceDescriptor.Transient(result.ValidatorType, result.ValidatorType));
});
});
// Configure Core services
services.ConfigureIncodingCoreServices();
// Configure Entity Framework (requires Incoding.Data.EF provider). You can use any existing provider implementation available in Incoding.Data.* on Nuget
services.ConfigureIncodingEFDataServices(typeof(ItemEntity), builder =>
{
builder.UseSqlServer(Configuration.GetConnectionString("Main"));
});
// Configure Incoding Framework MVC services
services.ConfigureIncodingWebServices();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApplicationLifetime applicationLifetime)
{
if (env.IsDevelopment())
{
app.UseBrowserLink();
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseMvc(routes =>
{
// Configure CQRS routes (optional)
routes.ConfigureCQRS();
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
// Configuring Incoding Framework IoC
IoCFactory.Instance.Initialize(init => init.WithProvider(new MSDependencyInjectionIoCProvider(app.ApplicationServices)));
// Configuring Incoding Framework caching
CachingFactory.Instance.Initialize(init => init.WithProvider(new NetCachedProvider(() => app.ApplicationServices.GetRequiredService<IMemoryCache>())));
BackgroundTaskFactory.Instance.AddScheduler();
// Configure some background services
/*
BackgroundTaskFactory.Instance.AddExecutor("SomeService",
() =>
{
new DefaultDispatcher().Push(new BackgroundServiceCommand());
}, options => options.Interval = TimeSpan.FromSeconds(15));
BackgroundTaskFactory.Instance.AddSequentalExecutor("Some Sequential Service",
() => new SequentialTestQuery(), arg => new SequentialTestCommand()
, options => options.Interval = TimeSpan.FromSeconds(15));
*/
// Execute this after configuring all Tasks above (include Scheduler task)
BackgroundTaskFactory.Instance.Initialize();
// Don't forget to stop all tasks when application is shutting down
applicationLifetime.ApplicationStopping.Register(() =>
{
BackgroundTaskFactory.Instance.StopAll();
});
}
}
Prerequisites
- Incoding.Core
- Incoding.Data → Incoding.Data.* (providers)
- Incoding.Web
- Your web application
OR
- Incoding.Core
- Incoding.Data → Incoding.Data.* (providers)
- Your desktop/other application
Testing
Incoding.MSpec
Installing
Web App:
Nuget (including all dependencies): Incoding.Web
Nuget (EF provider): Incoding.Data.EF
Domain Library:
Nuget (including all dependencies): Incoding.Data
Nuget (EF provider): Incoding.Data.EF
Usage Example
Coming soon
Versioning
For the versions available, see the tags on this repository.
Authors
Vlad Kopachinsky - Original version - Incoding Framework
Victor Gelmutdinov - .NET Core migration work
License
This project is licensed under the MIT License - see the LICENSE.md file for details
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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- JetBrains.Annotations (>= 11.1.0)
- Microsoft.CSharp (>= 4.4.0)
- Microsoft.Extensions.Caching.Memory (>= 2.0.0)
- Microsoft.Extensions.DependencyInjection (>= 2.0.0)
- Newtonsoft.Json (>= 13.0.3)
- protobuf-net (>= 3.2.30)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Incoding.Core:
Package | Downloads |
---|---|
Incoding.Web
Web library containing abstractions, helpers and MVD/CQRS controller functions of Incoding Framework |
|
Incoding.Data
Database abstractions library for Incoding Framework |
|
Incoding.UnitTests.MSpec
MSpec helper library to write quick tests for projects using Incoding Framework |
|
Incoding.Data.EF
Entity Framework Core database provider for Incoding Software |
|
Incoding.Data.Mongo
MongoDB database provider for Incoding Software |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.3.3 | 162 | 9/9/2024 |
1.3.2 | 221 | 7/22/2024 |
1.3.0 | 756 | 11/30/2023 |
1.2.8 | 159 | 11/17/2023 |
1.2.7 | 481 | 3/23/2023 |
1.2.6 | 233 | 3/22/2023 |
1.2.5 | 2,324 | 11/24/2022 |
1.2.4 | 620 | 10/30/2021 |
1.2.3 | 379 | 10/30/2021 |
1.2.2 | 766 | 5/3/2021 |
1.2.1 | 531 | 2/5/2021 |
1.2.0 | 817 | 2/4/2021 |
1.1.0 | 778 | 6/15/2020 |
1.0.9 | 943 | 6/14/2020 |
1.0.8 | 1,722 | 6/11/2020 |
1.0.7 | 1,908 | 6/4/2020 |
1.0.6 | 525 | 5/12/2020 |
1.0.5 | 773 | 5/11/2020 |
1.0.3 | 3,519 | 3/7/2020 |
1.0.2 | 3,659 | 3/22/2019 |
1.0.1 | 1,591 | 2/22/2018 |
1.0.0 | 2,783 | 2/17/2018 |
Incoding Framework library migrated to .NET Standard and .NET Core