Beim Einrichten meiner Windows-Dienstanwendung für die Selbsthost-Nutzung mit Owin auf Grundlage dieses Artikels:
Ich habe diese Überladung der WebApp.Start-Methode verwendet:
Hier ist mein Code:
%Vor%Es funktioniert gut, also keine Beschwerden.
Aber was genau sind die Anforderungen des Typparameters der Startmethode? Es scheint keine Einschränkungen zu geben, und ich konnte keine Dokumentation darüber finden, was meine Optionen / Anforderungen an diesem Parameter sind. Sucht es nach Methoden, die IAppBuilder als Parameter verwenden? Was passiert, wenn ich den Namen der Configuration () -Methode in etwas anderes ändere? Was, wenn ich die Methode intern mache? Gibt es andere Optionen, die ich mit dieser Klasse konfigurieren kann?
Wo ist das alles dokumentiert? Ich habe das Gefühl, ohne den oben verlinkten Artikel hätte ich nie herausfinden können, was ich umsetzen soll.
Die Klasse WebApp
verwendet Reflektion, um einen Zeiger auf die Methode Configuration(IAppBuilder)
zu erhalten, und ruft sie dann auf. Wenn die Klasse, die Sie als generisches Argument angeben, keine Configuration
-Methode mit den erwarteten Argumenten enthält, erhalten Sie zur Laufzeit einen Fehler.
Ich stimme zu, dass dies nicht so auffindbar ist, wie wir es gerne hätten, und ich bin mir nicht sicher, warum die ursprünglichen Entwickler es auf diese Weise implementiert haben, anstatt eine where T: IStartup
Einschränkung hinzuzufügen. Dies würde nicht nur die Dokumentation ohne Dokumentation leichter machen, sondern es dem Compiler auch ermöglicht haben, dies zur Kompilierzeit zu überprüfen.
Der einzige Vorteil dieses Ansatzes besteht darin, dass die OWIN-Entwickler in Zukunft weitere Methoden oder Methoden mit unterschiedlichen Signaturen hinzufügen können, ohne den vorhandenen Code zu unterbrechen.
Tags und Links c# windows-services owin asp.net-web-api2