2017-10-10 2 views
0

Ist es möglich, einen ASP.NET OWIN-Self-Host-WebApi-Service in einem Projekt auszuführen und die WebApi-Controller aus einem anderen Projekt einzuschließen, und wie?WebApi enthält Controller aus einem anderen Projekt

Derzeit scheint es, dass mein Hosting-Projekt die Controller, die ich in einem anderen Projekt habe, nicht enthält (/ entdeckt), was zu einem emptyApiDescriptions von Microsoft.Web.Http.Description.VersionedApiExplorer führt.

+0

Wahrscheinlich nicht ganz das, was Sie suchen, aber Sie können Bibliotheken erstellen, die Controller enthalten und sie als Module verwenden, wenn Sie .Net Core verwenden. [Dieses Video] (https://www.youtube.com/watch?v=LoPlECp31Oo&index=1&list=FLmQYVKMxsF63fEjRoEQUeRg) ist etwas veraltet, das vorgestellte Projekt wurde von .Net Standard 1.6 auf 2.0 aktualisiert. – Crowcoder

+0

mit .net 4.6, weiß nicht, ob das etwas zu Ihrem Vorschlag ändern? – grmihel

+0

Das Obstbaum-Modul-Projekt, auf das ich verwiesen habe, funktioniert nicht mit .net 4.6. – Crowcoder

Antwort

0

Sie können Ihre eigene Controller Factory wie beschrieben schreiben here.

Ich persönlich habe es nie versucht, wie wir Controller schlank halten und Logik aus unserer "Service" -Layer wiederverwenden, aber warum nicht versuchen, von geteilten Controllern abzuleiten.

public class MyController : SharedController {} 

Es könnte komplizierter, aber, wenn SharedController einen Konstruktor hat (zum Beispiel IoC Konstruktor Injektion).

Verwandte Themen