Ich habe Controller in einer Klassenbibliothek, aber ich kann nicht herausfinden, wie ich das Hauptprojekt dazu bringen kann, sie zu erkennen. Das Hauptprojekt hat einen Verweis auf meine Klassenbibliothek. Muss ich sie irgendwo registrieren?
Ich möchte beide Controller und ApiControllers verwenden.
BEARBEITEN:
Route config - unverändert beim Erstellen des Projekts:
%Vor%WebApi config, wieder unverändert:
%Vor%Controller Ich versuche zuerst zu arbeiten:
%Vor%Ich habe ein Test.cshtml in einem UI-Ordner innerhalb von Views in meinem Hauptprojekt erstellt. Explorer.cshtml und StartMenu.cshtml befinden sich in Shared Inside Views.
Wird der Controller-Klassenname mit "Controller" beendet, ist dies obligatorisch.
Was du machst, sollte funktionieren, die Controller-Fabrik macht das:
%Vor%... Die Standardfactory verwendet einen Typcache im Inneren. Der Typ-Cache ist in der implementiert ControllerTypeCache-Klasse Während der Initialisierung der Anwendung Die Klasse "ControllerTypeCache" verwendet .NET Reflection zum Aufzählen aller referenzierte Assemblys und erkundete sie auf der Suche nach öffentlich zugänglichen Controller-Typen. Ein Controllertyp ist ein referenzierter Typ, der übergeben wird der folgende Test:
Von: Ссылка
Dies bedeutet, dass ein einfacher Verweis auf eine Baugruppe mit Ihren Controllern ausreichen sollte.
Wenn Ihr Controller diese Regeln erfüllt, sollten Sie in Ordnung sein.
Die Lösung für die API-Controller unterscheidet sich von der Lösung für reguläre MVC aufgrund einer Reihe von Faktoren. Informationen zur Handhabung von Web-API-Controllern finden Sie im Folgenden: mit externen Web-API-Controllern
Tags und Links asp.net-mvc asp.net-web-api c# asp.net-mvc-5