2014-12-03 8 views
5

Yönlendirmeyi daha kolay tanımlayacak gibi göründüğü için Web API'sı için Attribute Routing özelliğini etkinleştirmek istiyorum. Burada örnek: http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2 o WebApiConfig.cs dosyasında nasıl yapıldığını gösterir: Projemi aslen .NET 2.0 başlayan eski web formları projedir, ancakglobal.asax içinde web api özniteliği yönlendirme özelliğini etkinleştirme

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. 
     } 
    } 
} 

(şimdi 4.5 üzerinde birkaç yükseltmeleri takip ediyor yıl). Bir WebApiConfig.cs dosyanız yok ve yerine geçerli yolları kullanarak global.asax Application_Start yönteminde doğrudan tanımlanmıştır:

RouteTable.Routes.MapHttpRoute(...) 

kimse bu durumda özellik tabanlı yönlendirme sağlamak için en iyi yolu açıklayabilir

? Teşekkürler

+0

"Not: Web API 1'den Geçirme" başlığı altında gönderdiğiniz bağlantıyı okuyun. – Rhumborl

+0

@rhumborl Öneri için teşekkürler. Yine de ilginç bir şekilde, WebApiConfig.Register (GlobalConfiguration.Configuration); global.asax – Kate

+0

Wow, downvotes'taki çizgiye sahip değilim. Bu kötü bir soru muydu? Birisi bana nedenini söyleyebilir mi? – Kate

cevap

10

Global.asax dosyanıza GlobalConfiguration.Configuration.MapHttpAttributeRoutes(); dosyasını yapabilirsiniz.

GlobalConfiguration.Configuration nesne WebApiConfig dosyaya geçirilir, böylece size Global.asax

+0

Harika, bunun için teşekkürler! – Kate

3

yılında Eğer rota tanımları önce bu 2 satırları koymalıyız gereken tüm yapılandırmak için bu sınıfını kullanabilir ve bunu mutlulukla

GlobalConfiguration.Configuration.MapHttpAttributeRoutes(); 
    GlobalConfiguration.Configuration.EnsureInitialized(); 
çalışacak

Cheers

İlgili konular