2013-04-24 1 views
2

저는 ASP.NET 웹 API를 시작했습니다.처음부터 ASP.NET 웹 API를 작성하는 방법은 무엇입니까?

템플릿과 관련해서는 아무것도 없지만 적어도 생성 된 코드를 신뢰하기 전에 어떤 일이 일어나는지 정확히 이해하고 싶습니다.

MCV 웹 API 프로젝트 템플릿에서 제공된 스캐 폴딩없이 처음부터 ASP.net WEB API를 작성하는 데 도움이되는 가이드를 찾는 데 어려움을 겪었습니다.

내 질문은 : 웹 API의 어떤 부분이 API를 실행하고 실행하기위한 베어 본 코드입니까?

또한 누군가가 나를 지적 할 수 없다는 안내가 있으면 그 점도 인정할 것입니다.

+0

StackOverflow는 "질문은 어디에서 찾을 수 있습니까?"가 아닌 특정 질문을위한 것입니다. Google과 Bing은이를 전문으로하고 있습니다. 물건을 찾는 것에 대해 묻는 질문은 "쇼핑 목록"질문이며 여기서는 적합하지 않습니다. 그 이유를 설명하는 메타 게시물 [여기] (http://meta.stackexchange.com/q/139618/172661)과 [여기] (http://meta.stackexchange.com/q/158809/172661)가 있습니다. "건설적이지 않은"것으로 결론을 내리는 투표. 행운을 빕니다. –

+0

수정 해 주셔서 감사합니다. 아래에 주어진 위대한 답에 대해보다 구체적이고 사실이되도록 질문을 편집 할 것입니다. – JHixson

+0

적당히 약간 가혹한 것 같습니다. 질문은 웹 API를 시작하는 데 필요한 코드에 대한 지침을 묻는 것으로 시작됩니다. 이것은 사실, 참조 또는 전문 지식에 대한 명확한 요청처럼 보입니다. 웹 API를 시작하고 실행하는 데 정확히 * 필요한 것은 무엇입니까? 나는 질문을 읽고 열심히 간결한 대답을 위해 아래로 스크롤했다. – Steve

답변

6

여기 시작하는 조금의 :

  1. 이 새 콘솔 응용 프로그램
  2. 를 작성하여 홈페이지에이 코드를 추가 "마이크로 소프트 ASP.NET 웹 API 셀프 호스트"NuGet 패키지
  3. 설치 방법 :
public static void Main() 
{ 
    string baseAddress = "http://localhost:12345/"; 
    HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(baseAddress); 
    config.Routes.MapHttpRoute("Default", "api/{controller}"); 

    HttpSelfHostServer server = new HttpSelfHostServer(config); 
    server.OpenAsync().Wait(); 

    Console.ReadKey(); 

    server.CloseAsync().Wait(); 
} 

4. 새로운 컨트롤러 클래스를 만듭니다

,
public class HelloWorldController : ApiController 
{ 
    public string Get() 
    { 
     return "Hello World"; 
    } 
} 

5. 응용 프로그램을 실행하고 선호하는 HTTP 클라이언트를 http://localhost:12345/api/helloworld으로 지정하십시오. 피들러 (Fiddler)의 작곡가를 사용하는 것이 좋지만 브라우저도 잘 작동해야합니다.

하나의 메모 : 이것은 관리자 권한으로 시작하는 경우에만 VS에서 작동합니다. 당신이 관리자 권한으로 실행하지 않는 경우, 당신은이 줄을 추가해야 할 수 있습니다 :

config.HostNameComparisonMode = HostNameComparisonMode.Exact; 

이 응용 프로그램에서 HTTP 서버 자신을 시작하는 방법을 보여줍니다. 웹 호스팅 웹 API는 위와 같이 HttpSelfHostConfiguration 객체를 만드는 대신 GlobalConfiguration.Configuration 정적을 사용하여 API를 구성한다는 점에서 큰 차이가 있습니다.

+0

고마워요! 내 문제는 콘솔 응용 프로그램으로 시작할 생각이 없다는 것이 었습니다. 항상 "빈 ASP.NET 페이지"템플릿으로 시작했습니다. 이것이 가능할 것이라고 확신하지만, 나는 훨씬 더 시작하기위한 접근 방식을 좋아합니다. 또한 [이 가이드] (http://www.asp.net/web-api/overview/hosting-aspnet-web-api/self-host-a-web-api)를 찾을 수있었습니다. – JHixson

+0

요즘은 IIS 호스팅을 사용하는 가장 쉬운 방법은 빈 웹 응용 프로그램을 만들고 Web Api 만 표시하는 것입니다. –

관련 문제