.Net Core 3.X - amitbhilagude/userfullinks GitHub Wiki

1. Prerequisites 
	a. VS 2019
	b. .Net core 3 SDK (VS 2019 installs it)
2. Changes 
	a. Dependancy nuget packages moved as class library in to .net core sdk. Csproj file has only one entry default.
	b. Changes in registering services in config services 
3. Dependancy injection 
	a. Register service and provide instance when requested 
	b. Container takes care of object life time. Singleton, scope or transit
	c. Register service as interface so loosely couples and good for unit testing 
4. Middleware 
	a. Http pipeline : request go and return from pipeline. 
a. Register middleware in http pipeline 
1. Bundle and Minifiy
	a. Node, gulp and webpack
2. .Net Core Topology
	a. Browser Request->IIS->Dotnet->Kestrel->Custom Appplication->Middleware pipeline
	b.  Kestrel
		i. Internal Webserver receives request from IIS and redirect to custom application
		ii. Kerstrel is configured using CreateHostbuilder class in main
3. Deployment Options
	a. Framework Dependent
		i. .net core assemblies are not included in deployment package
		ii. It is prequisites that .net core is already installed on deployment target
	b. Self contained
		i. .net core assemblies are included in deployment package
		ii. Need to select target OS(RID) e..g Win 10 x64 so that relevents files will be added
4. Target Deployment
	a. IIS
		i. Options 1 in Visual Studio
			1) Publish package 
			2) Copy package wwwroot output
			3) Create website in IIS and provide wwwroot path
		ii. Option 2 in Visual Studio
			1) Web deploy mode
			2) Configure IIS server and port in wizard
			3) Deploy
	b. Azure

App service deployment