DNX .net X platform
OWIN defines a standard interface between .NET web servers and web applications. The goal of the OWIN interface is to decouple server and application, encourage the development of simple modules for .NET web development, and, by being an open standard, stimulate the open source ecosystem of .NET web development tools.
owin.org
public void Configure(IApplicationBuilder app) {
app.UseStaticFiles();
app.UseWelcomePage();
app.UseMvc();
...
Dependency versioning pain is the developers responsibility.
{
"dependencies": {
"Microsoft.AspNet.Mvc": "6.0.*",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta4"
}
}
No shared assembly, simply reference the version you need and run $DNU restore
The same dependencies that are used on a developers machine will be references in a production environment.
Dependencies and frameworks are referenced via nuget packages.
var gulp = require('gulp'),
aspnetk = require("gulp-aspnet-k");
gulp.task('default', function(cb) {
return gulp.start('aspnet-run');
});
gulp.task('aspnet-run', aspnetk());
The DNX Utility (dnu) tool is responsible for all operations involved with packages in your application.
dnu restore
dnu install <packagename>
dnu pack
dnu build
dnu list
Its effectively a nuget wrapper
You may recognise this
npm install
npm uninstall
npm pack
npm update
npm rebuild
npm list
dnx . web
dnx . run
dnvm install
dnvm list
...
.NET Execution
.NET Version Manager
Libuv - cross platform async IO Server
Kastro is the .NET webserver that was ported from Libuv