Comments (4)
Note: this is also an appropriate place for Async options.
from options.
Something like:
public interface IConfigureRequestOptions<TOptions> where TOptions : class
{
Task ConfigureAsync(string name, TOptions options, HttpContext context);
}
public interface IRequestOptions<TOptions> where TOptions : class
{
Task<TOptions> GetAsync(string name, HttpContext context);
}
public interface IRequestOptionsFactory<TOptions> where TOptions : class, new()
{
Task<TOptions> CreateAsync(string name, HttpContext context);
}
from options.
The default request options factory could also fallback to normal options:
public class RequestOptionsFactory<TOptions> : IRequestOptionsFactory<TOptions> where TOptions : class, new()
{
private readonly IOptionsFactory<TOptions> _factory;
private readonly IEnumerable<IConfigureRequestOptions<TOptions>> _configures;
public RequestOptionsFactory(IOptionsFactory<TOptions> factory, IEnumerable<IConfigureRequestOptions<TOptions>> configures) {
_factory = factory;
_configures = configures;
}
public async Task<TOptions> CreateAsync(string name, HttpContext context)
{
var options = _factory.Create(name);
foreach (var configure in _configures)
{
await configure.ConfigureAsync(name, options, context);
}
return options;
}
}
from options.
This issue was moved to dotnet/aspnetcore#2386
from options.
Related Issues (20)
- [Annoucement][Draft] IOptionsSnapshot is now a scoped service HOT 2
- Overload Configure with access to IServiceProvider HOT 3
- Inconsistent use of null vs DefaultName HOT 1
- Extension methods for more concise registration of IConfigureOptions/IPostConfigureOptions HOT 1
- Semi-Automatic options configuration improvements HOT 7
- IConfigureOptions isn't called for authentication (named) options HOT 7
- [Question] Get Options immediately after Configure HOT 5
- Add built in support for validating options HOT 4
- Backwards Compatibility Broken with IOptionsSnapshot when upgrading to .Net Core 2.0 HOT 5
- See if we can make it easier to implement IConfigureNamedOptions HOT 2
- Add Configure<TOptions, TService1...5>(Action<TOptions>, TService1...5) overloads HOT 1
- OptionsBuilder to chain configuration calls HOT 7
- Allow collections to be replaced, when defined in IConfiguration HOT 1
- DI exception is not raised when IOptions<Poco> is not configured. HOT 2
- Call AddOptions() from Configure/AddOptions HOT 1
- IOptionsSnapshot not working in docker container using bind mount HOT 2
- Make IConfigureNamedOptions.Configure async HOT 1
- IOptionsSnapshot is not working with singleton services HOT 1
- THIS ISSUE TRACKER IS CLOSED - use the Home repo issue tracker HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from options.