Unravel.Startup
Mimic ASP.NET Core Startup.cs to Unravel your dependence on System.Web.
Install
| Product | Versions |
|---|---|
| Other |
README
Unravel.Startup
Unravel provides a fully configurable ASP.NET Core IWebHost on top of System.Web via OWIN, with forward-compatible dependency injection, configuration and logging.
Unravel.Application- Inherits from
System.Web.HttpApplication - Provides OWIN Startup
- Provides ASP.NET Core Startup, including
ConfigureServices(IServiceCollection) - Builds an ASP.NET Core
IWebHost, including anIServiceProvider- Static
Unravel.Application.Servicesservice locator - Scoped per
HttpContext - With
GetRequestServices()extension methods
- Static
- Inherits from
OwinHost.CreateDefaultBuilder(), equivalent toWebHost.CreateDefaultBuilder().Microsoft.Extensions.ConfigurationConfigurationManagerConfigurationProviderinspired by @benfosterappsettings.jsonandappsettings.{env}.json- User Secrets (Development only)
- Environment Variables
Microsoft.Extensions.DependencyInjectionMicrosoft.Extensions.Logging- Configured from
IConfiguration - Debug Logger
- Configured from
Setup
Install
Unravel.Startupin your Web Application projectSearch the project for an existing OWIN Startup Class:
There may be an
OwinStartupattribute, e.g.[assembly: OwinStartup(typeof(UnravelExamples.Web.OwinStartup))]Web.configmay containowin:appStartup, e.g.<appSettings> <add key="owin:appStartup" value="UnravelExamples.Web.OwinStartup" /> </appSettings>
In the instructions that follow, use that class name instead of
Startup(or rename it toStartup).Open
Global.asax.cs:- Rename the class to
Startup - Make the class
partial - Inherit from
Unravel.Application
-public class MvcApplication : System.Web.HttpApplication +public partial class Startup : Unravel.ApplicationMake sure the
InheritsinGlobal.asaxupdated, too-<%@ Application CodeBehind="Global.asax.cs" Inherits="UnravelExamples.Web.MvcApplication" Language="C#" %> +<%@ Application CodeBehind="Global.asax.cs" Inherits="UnravelExamples.Web.Startup" Language="C#" %>- Rename the class to
If you already have a
Startup.cs:- Make it
partial - Replace
void Configuration(IAppBuilder app)withoverride void ConfigureOwin(IAppBuilder app)
If you don't, create one.
Then you can
override ConfigureServices(), too.// Startup.cs public partial class Startup { public override void ConfigureServices(IServiceCollection services) { } public override void ConfigureOwin(IAppBuilder app) { } }- Make it
Changes from Previous Version
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.