Giter Site home page Giter Site logo

dazinator / dazinator.responsivecore Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 0.0 200 KB

Enable your .net applications to be more responsive to changes at runtime, so you don't have to restart the application in order for changes to take effect. It does this whilst trying to be as minimally invasive in your code base as possible.

C# 100.00%

dazinator.responsivecore's Introduction

dazinator.responsivecore's People

Contributors

dazinator avatar dependabot-preview[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dazinator.responsivecore's Issues

Support for rebuilding out of request scope

At the moment, the pipeline is re-built on first request after invalidation.

Make this an option - and support the alternative choice:

  • Rebuilding in the background (within a lock) then swapping it out (lockless) for the next request.

Widen scope of project

Being able to dynaically rebuild middleware pipelines is great.
But there are other areas of a .net application that could also be more resonsive to changes at runtime.

For example IHostedService - it would be nice if they could be started and stopped at will, so for example a customer could set a setting which disables a service, or enables a service, and that service will start or stop accordingly without requiring a restart of the application.

I think it makes sense to rename this repro to encapsulate the wider goal, not just be a repo for a reloadable middleware pipeline, but for any other projects and packages which help with this wider goal.

Thoughts

Consider providing an out of the box ChangeTokenFactory that a user can keep a reference to manually signal its change token at any point.

For example suppose the user is given an Action. along with the Func`IChangeToken. Whenever they invoke the Action, the current change token returned from the Func will be signalled, resulting in the consumer of that token responding and tgen requesting the next obe. This process can be repeated over and over.

In addition to this, consider how the user might combine multiple triggers to fire the change token.. this is typically done by returning a single Composite ChangeToken that wraps many inildividual ones.

Perhaps we can allow an array of Func`IChangeTokens to be combined into one outer one, that gathers all of the inner ones into a Composite token and returns that.

This way the user would be able to create their various Func`IChangeToken and then combine them together easily.

IHostedServices - start and stop without requiring application restart

As per the title, it's useful to be able to have IHostedService's start or stop based on there current enablement state - without having to restart the application. If a customer changes some setting, the job can be disabled, or enabled and will start or stop accordingly without requiring a restart.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.