Upload
dennis-doomen
View
447
Download
1
Tags:
Embed Size (px)
Citation preview
Knowledge.People.Solutions.
15-04-2023
Building HTTP-based .NET components you can host anywhere
Dennis Doomen (@ddoomen)
Aviva Solutions
www.avivasolutions.nl
About Me
Dennis Doomen
The Continuous Improver
2
• 18 years in this profession• C++ origins but since 2001 dedicated
to C# and .NET• Loves TDD/BDD, DDD, Event Sourcing,
CQRS, OO, Design Patterns, Architecture, Scrum/XP/Kanban, Application Lifecycle Management
• Occasional Speaker• www.csharpcodingguidelines.com • www.fluentassertions.com • Find me here
• www.continuousimprover.com • DZone MVB• @ddoomen
Client
IIS
ConsoleWinSvc
Unit Test
HTTP request
HTTP response
Middlewareenv
handlernext
Middleware
IDictionary<string, object>
Func<IDictionary<string, object>, Task>
Task
Func<Func<IDictionary<string, object>, Task>, Func<IDictionary<string, object>, Task>
>
The OWIN Pipeline
1. Simple console app2. Ship as class library3. Ship as NuGet package4. Psake builds5. GitFlow versioning6. Convert to OWIN7. OWIN-based testing8. Swagger9. Internalizing dependencies10.Custom settings
Summary
Invaluable Resources
• Piercer demo codehttps://github.com/dennisdoomen/piercer
• Katana / DNX 5 bridgehttps://github.com/damianh/LimitsMiddleware/blob/dnx/src/LimitsMiddleware.AppBuilderExtensions/AppBuilderExtensions.ConnectionTimeout.cs
• Official OWIN gitter.im roomhttps://gitter.im/owin/owin
• Liblog – a logging framework for library devshttps://github.com/damianh/LibLog
• Psakehttps://github.com/psake/psake
• GitVersionhttps://github.com/ParticularLabs/GitVersion
• Swashbuckle – Swagger for .NEThttps://github.com/domaindrivendev/Swashbuckle
Aviva Solutions
www.avivasolutions.nl
How to find me?
Dennis Doomen
Principal Consultant
8
• @ddoomen• dennis.doomen@avivasolution
s.nl• www.continuousimprover.com• www.csharpcodingguidelines.c
om• github.com/dennisdoomen• www.fluentassertions.com