2014-12-03 2 views
5

웹 API의 속성 라우팅을 설정하면 라우팅을 쉽게 정의 할 수있는 것처럼 보이게 할 수 있습니다. 여기 예 : http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2는이 WebApiConfig.cs 파일에서 수행하는 방법을 보여줍니다 : 내 프로젝트는 원래 닷넷 2.0에서 시작 오래된 웹 양식 프로젝트이다, 그러나global.asax에서 웹 API 속성 라우팅 활성화

using System.Web.Http; 

namespace WebApplication 
{ 
    public static class WebApiConfig 
    { 
     public static void Register(HttpConfiguration config) 
     { 
      // Web API routes 
      config.MapHttpAttributeRoutes(); 

      // Other Web API configuration not shown. 
     } 
    } 
} 

(지금은 4.5에 비해 몇 가지 업그레이드를 다음과 같은 것 연령). 나는 WebApiConfig.cs 파일이없는 대신 내 현재의 경로는 사용의 Global.asax 위해 Application_Start 메서드에서 직접 정의됩니다

RouteTable.Routes.MapHttpRoute(...) 

사람이이 상황에서 속성에 기반한 라우팅을 가능하게하는 가장 좋은 방법을 설명 할 수

? 감사합니다.

+0

"참고 : 웹 API 1에서 마이그레이션" – Rhumborl

+0

@rhumborl 제안에 감사드립니다. 흥미롭게도 나는 WebApiConfig.Register (GlobalConfiguration.Configuration);을 global.asax에서 언급 한 행이 없다. – Kate

+0

와우, downvotes? 이것은 나쁜 질문 이었습니까? 누군가 왜 저에게 말할 수 있습니까? – Kate

답변

10

Global.asax 파일에 GlobalConfiguration.Configuration.MapHttpAttributeRoutes();을 (를) 할 수 있습니다.

GlobalConfiguration.Configuration 목적은 WebApiConfig 파일로 전달됩니다, 그래서 당신은 당신이 Global.asax

+0

정말 고마워! – Kate

3

에 당신은 당신의 경로를 정의하기 전에이 두 줄을 넣어해야 필요한 모든 구성이 클래스를 사용할 수 있고 행복하게

GlobalConfiguration.Configuration.MapHttpAttributeRoutes(); 
    GlobalConfiguration.Configuration.EnsureInitialized(); 
를 작동합니다

건배