2016-03-27 11 views
0

Mvc çekirdeğin gittiği yeni yönlerden gerçekten zevk aldığım kadarıyla, geri döndüğüm bir şey geri adım atıyor. İnşa ettiğim bir uygulama 50 farklı rotadan oluşuyor ve bu rotaları startup.cs içine koymak, tüm rotalardan dolayı bir noktada biraz hantal hale gelecektir.Mvc yolları startup.cs'den ayırmak mümkün veya tavsiye edilebilir

Rotaları mvc'in önceki sürümlerinde olduğu gibi kendi nesnelerine veya ara katman yazılımlarına bölmek mümkün mü?

cevap

2

Rotalar ek açıklamaları kullanarak, doğrudan her denetleyici üzerinde tanımlanabilir: - Ancak, olumsuz bu açıklamaları kullanma

namespace Example.WebApp 
{ 
    [Route("api/sheep")] 
    public class SheepController : Controller 
    { 
     [HttpGet("{id}")] 
     public IActionResult Get(long id) 
     { 
      return new ObjectResult("Example"+id); 
     } 
     [HttpPost] 
     public void Post([FromBody]ComplexObject obj) 
     { 
     } 
     [HttpGet("horse/{id}/{chicken}")] 
     public void AnotherGet(long id, string chicken) 
     { 
     } 
    } 
} 

, tüm bu karmaşıklık Startup.cs olmadan keyfi karmaşık URI şemaları birikebilir Birden çok denetleyicide çakışan URI oluşturmamanız için sorumluluk almanız gerektiğidir.

+0

Bu oldukça kaygan, mvc1-5'den çok daha iyi, ancak bunun gibi karmaşık yollar da oluşturabilir veya startup.cs'e geri dönmek zorunda kalabilir misiniz? – Marqueone

+0

@Marqueone "karmaşık yollar" ile ne demek istiyorsun? Bir örnek verebilir misin? –

İlgili konular