2014-10-30 7 views
9

क्या किसी को पता है कि संदेश हैंडलर वेब एपीआई 2.x में विशेषता रूटिंग के साथ-साथ काम कर सकता है या नहीं? मुझे परंपरागत रूटिंग का उपयोग करके काम करने के लिए एक कस्टम संदेश हैंडलर मिला, फिर विशेषता रूटिंग जोड़ने के बाद, यह काम करना बंद कर देता है। मुझे यकीन नहीं है कि यह समर्थित नहीं है या अगर मैंने कुछ गलत तरीके से कॉन्फ़िगर किया है। कोई भी मदद बहुत ही सराहनीय होगी।वेब एपीआई - संदेश हैंडलर विशेषता रूटिंग

1) विशेषता मार्ग

--- WebApiConfig.cs code snippet (simplified)---- 


     config.Routes.MapHttpRoute(
      name:"DefaultApi", 
      routeTemplate: "api/{controller}", 
      defaults: null, 
      constraints: null, 
      handler: my-message-handler-object 
     ); 


--- MyController.cs code snippet (simplified)---- 

    public class MyController : ApiController 
    { 

     [HttpGet] 
     public IHttpActionResult CheckInServices(...) 
     { 
      ... 
     } 
    } 

2) विशेषता के बाद मार्ग

--- WebApiConfig.cs code snippet (simplified)---- 

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

     config.Routes.MapHttpRoute(
      name:"DefaultApi", 
      routeTemplate:"api/vendor", 
      defaults: new { controller = "Users" }, 
      constraints: null, 
      handler: my-message-handler-object 
     ); 
    } 


--- MyController.cs code snippet (simplified)---- 

    [RoutePrefix("api/vendor/{vendorID:long}/service")] 
    public class MyController : ApiController 
    { 
     [HttpPost] 
     [Route("{serviceID:long}")] 
     public IHttpActionResult CheckInServices(...) 
     { 
      ... 
     } 
    } 

धन्यवाद से पहले,

कोड़ी

उत्तर

0

वैश्विक संदेश संचालकों काम करेंगे - बस उस पर सेट अप चालू होना।

public static class WebApiConfig 
{ 
    public static void Register(HttpConfiguration config) 
    { 
     config.MessageHandlers.Add(new YourAuthenticationHandler()); 
    } 
} 

मुझे पता नहीं है कि प्रति मार्ग संदेश हैंडलर विशेषता रूटिंग के साथ काम करते हैं।

संबंधित मुद्दे