2013-02-12 12 views
22

Zainstalowałem pakiet ASP.NET Web API Help Page i chciałbym go użyć do wygenerowania dokumentacji dla moich działań kontrolera API przy użyciu komentarzy Xml już na nich.Pomoc ASP.NET Web API Dokumentacja strony przy użyciu komentarzy Xml na kontrolerach

Natknąłem się na article on Yao's MSDN blog, gdzie omawia sposób generowania dokumentacji na podstawie komentarzy XML.

Jednak w metodzie Register of HelpPageConfig, metoda SetDocumentationProvider oczekuje wystąpienia obiektu XmlDocumentationProvider zbudowanego z fizyczną ścieżką do pliku dokumentacji Xml.

Czy jest inny sposób na zrobienie tego? Nie wiem, dlaczego muszę wskazać plik dokumentacji Xml.

Dzięki

Odpowiedz

27

XmlDocumentationProvider szuka pliku xml (posiadające swoje komentarze kodu XML), który pobiera generowane podczas kompilacji projektu. Możesz włączyć generowanie tego przechodząc do projektu Właściwości -> Kompilacja -> Dane wyjściowe. Tutaj zaznacz pole wyboru Dokumentacja XML.

+2

Kiran, dziękuję, to załatwia sprawę. Czy istnieje dobry sposób na programowy dostęp do tej wartości w czasie wykonywania? Właśnie robię HttpContext.Current.Server.MapPath ... –

+0

wielkie dzięki za tę odpowiedź, w końcu zorientowali się, jak to działa. –

+0

Nadal to samo nadal widzę "Brak dostępnej dokumentacji" – Si8

32

Jeśli problem nadal występuje, patrz poniżej.

Krok 1 - Dodaj komentarz na poziomie kontrolera

// GET api/documentation 
/// <summary> 
/// This is how we create a documentation 
/// </summary> 
/// <returns></returns> 
public IEnumerable<string> Get() 

Krok 2 - Budowanie właściwości właściwości projektu strony i ustawić wyjście xml dla dokumentacji

enter image description here

Krok 3 - pomoc w konfiguracji strony

Aby skonfigurować HelpPageConfig do korzystania z pliku dokumentacji xml, przejdź do strony ~\Areas\HelpPage\HelpPageConfig.cs.

Domyślnie instrukcja config.SetDocumentationProvider została zakomentowana. Użyj tego oświadczenia oraz wskazać lokalizację DocumentationProvider do naszego pliku XML:

public static void Register(HttpConfiguration config) 
{ 
    // Uncomment the following to use the documentation from XML documentation file. 
    config.SetDocumentationProvider(
      new XmlDocumentationProvider(
       HttpContext.Current.Server.MapPath("~/App_Data/Documentation.xml"))); 
} 

EDIT:

Położenie HelpPageConfig w nowym Web API 2.2 projektu utworzonego w VS2013 jest ~\Areas\HelpPage\App_Start\HelpPageConfig.cs

+6

Lokalizacja HelpPageConfig w nowym projekcie Web API 2.2 utworzonym w VS2013 to ~ \ Areas \ HelpPage \ App_Start \ HelpPageConfig.cs – Carl

+0

@Carl Dziękujemy za wyjaśnienia – Si8

Powiązane problemy