Alltäglich ist ein leichtes "No Magic" -Web -Framework für .NET.
Mit diesem Paket kann eine weltliche Anwendung mit ASP.NET gehostet werden.
Weitere Informationen finden Sie in der allgemeinen Dokumentation.
Installieren Sie das mundane.hosting.aspnet -Nuget -Paket und dann in Ihrem ASP.NET -Startcode -Anruf app.UseMundane(); Übergeben der Routing- und Abhängigkeitskonfiguration.
public void Configure ( IApplicationBuilder app , IWebHostEnvironment env )
{
var dependencies = new Dependencies (
new Dependency < Configuration > ( new Configuration ( env ) ) ,
new Dependency < DataRepository > ( request => new DataRepositorySqlServer (
request . Dependency < Configuration > ( ) . ConnectionString ) ) ) ;
var routing = new Routing (
routeConfiguration =>
{
routeConfiguration . Get ( "/" , HomeController . HomePage ) ;
routeConfiguration . Get ( "/data/{id}" , DataController . GetData ) ;
routeConfiguration . Post ( "/data/{id}" , DataController . UpdateData ) ;
} ) ;
app . UseMundane ( dependencies , routing ) ;
} Endpunkte können in einem anderen Teil als ASP.NET -Pipeline ausgeführt werden, indem MundaneMiddleware.ExecuteRequest() aufgerufen wird. Zum Beispiel möchten Sie möglicherweise benutzerdefinierte Fehlerbehandlungen durchführen, während Sie den weltlichen Motor noch verwenden.
Wenn Sie den aktuellen HttpContext sowie die Konfiguration von Routing und Abhängigkeiten übergeben, wird der Endpunkt ausgeführt, der mit der Anforderung übereinstimmt.
public static async ValueTask ExecuteRequest (
HttpContext context ,
DependencyFinder dependencyFinder ,
Routing routing )Es ist auch möglich, einen spezifischen Endpunkt mit:
public static async ValueTask ExecuteRequest (
HttpContext context ,
DependencyFinder dependencyFinder ,
MundaneEndpoint endpoint ,
Dictionary < string , string > routeParameters ) Der Endpunkt muss ein MundaneEndpoint sein, der den Signature ValueTask<Response> Endpoint(Request request) hat. Eine der anderen weltlichen Endpunktsignaturen kann durch Aufrufen von MundaneEndpoint MundaneEndpointFactory.Create() z.
MundaneEndpointFactory . Create ( ( ) => Response . Ok ( o => Write ( "Hello World!" ) ) ) ; Da in dieser Version von ExecuteRequest() keine Routing -Informationen enthalten, müssen Sie auch ein geeignetes routeParameters -Wörterbuch für den Endpunkt liefern. Wenn Mundane als Teil der Pipeline aufgerufen wird, erstellt er ein Wörterbuch von Parametern, die aus der URL erfasst wurden, z. B. für die Route /my-endpoint/{id} , die mit /my-endpoint/123 genannt wird, weltan übernimmt new Dictionary<string, string> { { "id", "123" } } als routeParameters .
Wenn der Endpunkt keine Routenparameter erfordert, übergeben Sie ein leeres Wörterbuch: new Dictionary<string, string>(0); .