Wie verwende ich einen Controller, der sich in einer Klassenbibliothek befindet?

8

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.

    
Jon 11.02.2014, 14:54
quelle

2 Antworten

5

Wird der Controller-Klassenname mit "Controller" beendet, ist dies obligatorisch.

Was du machst, sollte funktionieren, die Controller-Fabrik macht das:

  

... 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:

%Vor%

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.

    
Rui 11.02.2014, 15:00
quelle
0

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

    
Maess 11.02.2014 15:05
quelle