2013-07-30 17 views
9

Mam już istniejącą aplikację MVC, do której dodałem Web API i samouczęści Web API przy użyciu Nuget. Podczas gdy kontrolery Web API działają poprawnie (zwracają poprawne odpowiedzi na żądania HTTP), kontroler pomocy nie znajduje żadnych metod Web API do dokumentowania.Pomoc ASP.Net Web API Strona zwracająca puste wyjście

W akcji kontrolera Pomoc akcji Index "Configuration.Services.GetApiExplorer(). ApiDescriptions" wraca z wynikiem 0.

Doszedłem nawet do skopiowania całego obszaru "Pomoc" z innej działającej aplikacji internetowej.

Co zapełniło ApiDescriptions i czy są jakieś ustawienia konfiguracyjne, które muszę ustawić, aby odsłonić moje api do dokumentacji?


Czego próbowałem:

  • Ponowna Nuget pakiety
  • Kopiowanie obszaru Helppage z projektów pracujących
  • Kopiowanie na trasach z projektem
  • Porównując referencje praca z projektem pracuje nad złamane projekt
  • Porównanie Global.asax.cs z projektu roboczego do zerwanego projektu
  • Porównywanie web.config na od projektu do pracy w podziale projekt
+0

Czy możesz udostępnić, w jaki sposób skonfigurowane trasy i kontroler nie są wyświetlane? –

+0

Używa domyślnej trasy Web API. Brak dostosowania. –

+0

Ok. Czy możesz udostępnić kontroler (tylko deklaracje powinny wystarczyć), dla których strona pomocy nie wyświetla opisów? –

Odpowiedz

7

Okazuje się mój Glimpse instalacja MVC 4 został zakłócające. Jest to znany problem z Glimpse and Web API Help Pages. Odinstalowanie Glimpse rozwiązuje problem.

+0

Mój projekt nie ma odnośnika Glimpse, wciąż nie ma praca. Masz pomysł? – RKS

3

link podany przez Williama zapewnia również obejście w this comment który pracował dla mnie:

Teraz można użyć prostego obejścia przez ignorowanie RoutesInspector. Po prostu dodaj to do swojego web.config:

<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd"> 
<inspectors> 
     <ignoredTypes> 
     <add type="Glimpse.AspNet.Inspector.RoutesInspector, Glimpse.AspNet"/> 
     </ignoredTypes> 
    </inspectors> 
</glimpse>