Posts

NServiceBus

 NServicebus = abstraction over een service bus broker.. voorkeur masstransit  endpoint configuration = basis, geef je naam, gewoon logische naam, bijv "Sales".  endpoint serialization -> welke serializer moet gebruikt worden  endpoint transport = medium dat de messages transporteert (memory, azure service bus, rabbitmq, etc). LearningTransport is een memory implementation. Dus de berichten gaan nu via het geheugen.  endpointInstance =  Endpoint.start(endpointConfiguration)      -> start de service, een background service  Nservicebus kent 3 soortenm messages 1. command: 1 of meerdere senders, altijd 1 receiver. Doel is om een plek iets te laten doen. naming is dan: PlaceOrder, DoSomething 2. event: pub sub scenario: 1 sender, meerdere receivers. Doel: laat de wereld weten dat er iets is gebeurt: OrderPlaced, UserLoggedIn 3. message: voor alle overige berichten, bijv een reply op een request/response public class ExampleCommand : I...

EF Core

Packages  Microsoft.EntityFrameworkCore.Design: - scaffolding - migrations - reverse engineering Microsoft.EntityFrameworkCore.Tools: - command-line tooling support voor Package Manager Console (PMC)     - Add-Migration     - Update-Database     - Remove-Migration     - Scaffold-DbContext     - Drop-Database     - Script-Migration Commands PMC: - Migration aanmaken     Add-Migration TheNameOfTheMigration --> creates a migration cs file in the Migrations folder - Database bijwerken     Update-Database ---- After modifying the (domain) model, you need to create a new migration (so the DB will also be updated):     Add-Migration DescriptionOfTheModification Next update the database again:     Update-Database ---- After each time Add-migration is run, EFCore automatically creates a Snapshot file, also located in the Migrations folder. Working of the Change tracker https://www.youtube....

MVC 70-486: Chapter 1

Afbeelding
Objective 1.1: Design the application architecture Routes and routing De routing engine weet niks van MVC af. Zijn enige taak is de URL te analyseren en de controle over te dragen aan de route handler. De route handler gaat op zoek naar een HTTP handler, of een implementatie van IHttpHandler. De default HttpHandler is de MvcHandler. Deze handler extraheert de controller informatie door de request te vergelijken met de template waarden in de routing tabel. De handler haalt de strings eruit en stuurt deze naar de controller factory die op zijn beurt de geschikte controller teruggeeft. Asynchronous controllers Een grote aanpassing in MVC 4 t.o.v. MVC 3 zijn asynchrone controllers. In MVC zijn deze nu standaard opgenomen terwijl in MVC 3 gebruik maakte van een AsyncController.  Async controllers zijn handig voor niet  CPU-gebonden requests. Bij het maken van Action methods moet bepaalt worden of deze async moeten zijn of niet. Dit hangt af of de actie network- of I/O ...

Design Tips

Dependencies Stel Class A heeft aan afhankelijkheid van Class B, maar om Class B te kunnen instantieeren is Class C nodig. Dus Class A heeft om deze reden nu ook een afhankelijk nodig naar Class C. Met andere woorden, de implementatie van Class B is 'leaked out' en dwingt daarmee zijn gebruikers een afhankelijk te creeeren naar een Class die zij helemaal niet kennen / nodig hebben. In dit soort situatie komt de Factory Design Pattern om de hoek kijken. Class A is nu niet meer afhankelijk van Class B, maar van de Factory van Class B. Deze factory kent alle afhankelijkheden wel en zorgt er voor dat Class B op juiste wijze kan worden gecreeerd. Deze factory wordt vaak in Class A geinjecteerd middels een Depency Injection framework.

Assembly name opnemen in Entity Framework connections string

Voorbeeld:

.Net IL tools

Lijst met gratis en commerciƫle IL Tools: https://www.agile-code.com/blog/list-of-microsoft-net-il-disassemblers/

SQL blocking queries bekijken

Check de tabel 'sys.dm_exec_requests' om queries in te zien die op dit moment lopen. Er wordt daarbij aangegeven wat hun blocking PID is en wat voor WAIT het betreft. SELECT * FROM sys.dm_exec_requests