2013-02-12 2 views
22

ASP.NET Web API Help Page 패키지를 설치했으며이 태그를 사용하여 이미 API 주석을 사용하여 API 컨트롤러 동작에 대한 설명서를 생성하고 싶습니다.ASP.NET 웹 API 도움말 컨트롤러에서 Xml 주석을 사용하는 페이지 설명서

article on Yao's MSDN blog에서 XML 메모를 기반으로 문서를 생성하는 방법에 대해 설명합니다.

그러나 의 등록 방법에서 SetDocumentationProvider 메서드는 Xml 설명서 파일의 실제 경로로 구성된 XmlDocumentationProvider의 인스턴스를 필요로합니다.

다른 방법이 있습니까? Xml 문서 파일을 가리켜 야 할 이유가 명확하지 않습니다. 당신이 당신의 프로젝트를 컴파일 할 때 생성됩니다

감사

답변

27

XmlDocumentationProvider이 (당신의 XML 코드 주석을 가진) XML 파일을 찾고 있습니다. 프로젝트 생성 -> 빌드 -> 출력으로 이동하여 생성을 활성화 할 수 있습니다. XML 문서 파일의 확인란을 선택하십시오.

+2

키란,이 트릭을 수행합니다. 런타임에 프로그래밍 방식으로이 값에 액세스하는 좋은 방법이 있습니까? 지금 당장 HttpContext.Current.Server.MapPath를하고 있습니다 ... –

+0

이 답장을 보내 주셔서 감사 드리며 마침내이 작업을 수행하는 방법을 알아 냈습니다. –

+0

여전히 동일하지만 여전히 "No documentation available"이 표시됩니다. – Si8

32

그래도 문제가 해결되지 않으면 아래 단계를 참조하십시오.

1 단계 - 속성 프로젝트 속성 페이지를 구축하고 문서

enter image description here

에 대한 XML 출력을 설정 -

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

2 단계 컨트롤러 수준에 코멘트를 추가 3 단계 - HelpPage 구성

문서 xml 파일을 사용하도록 HelpPageConfig를 설정하려면 ~\Areas\HelpPage\HelpPageConfig.cs으로 이동하십시오.

기본적으로 config.SetDocumentationProvider 문은 주석 처리되어 있습니다. 그 문을 사용하여, 우리의 XML 파일에 DocumentationProvider의 위치를 ​​가리 킵니다 :

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"))); 
} 

편집 :

VS2013에서 만든 새 웹 API 2.2 프로젝트의 HelpPageConfig의 위치는 ~\Areas\HelpPage\App_Start\HelpPageConfig.cs

+6

VS2013에서 만든 새 웹 API 2.2 프로젝트의 HelpPageConfig 위치는 ~ \ Areas \ HelpPage \ App_Start \ HelpPageConfig입니다.cs – Carl

+0

@Carl 해명 해 주셔서 감사합니다. – Si8

관련 문제