2011-08-13 1 views
3

Je cherche le C# équivalent de Spring MVC's url mapping using annotations, i.e. en Java je peux écrire:Existe-t-il un équivalent du mappage d'URL de style Spring MVC de Java pour C#/.NET?

@Controller 
@RequestMapping("/some-friendly-url/") 
class MyController 
{ 
    @RequestMapping(value = "/{type}/more-seo-stuff/{color}", method = RequestMethod.GET) 
    public List<SomeDTO> get(@PathVariable String type, 
          @PathVariable String color, 
          int perPage) { 
     ... 
    } 

    @RequestMapping(method = RequestMethod.POST) 
    public String post(@RequestBody SomeDTO somethingNew) { 
     ... 
    } 
} 

Il est en réalité beaucoup plus puissant que cet exemple simple que tous ceux qui connaissent le concept sait. J'ai essayé de chercher comment réaliser la même chose avec ASP.MVC 3 ou avec MonoRail et les deux frameworks semblent être basés sur la philosophie "//" de convention-over-configuration de RoR et il serait difficile de obtenir ce qui précède avec eux et exiger beaucoup d'entrées de routage sur mesure en dehors de la classe de contrôleur avec seulement un petit sous-ensemble de la fonctionnalité disponible via les attributs. Spring.NET ne semble pas indiquer que la fonctionnalité de routage d'ASP.MVC est suffisante.

Y a-t-il quelque chose dans le monde C# qui offre ce type de fonctionnalité? J'étais sur le point de commencer à écrire quelque chose de personnel pour résoudre ce problème, mais j'espérais ne pas avoir à le faire.

Editer: Enfin trouvé le projet "AttributeRouting" qui est également disponible sur NuGet: https://github.com/mccalltd/AttributeRouting/wiki/1.-Getting-Started. Fonctionne parfaitement. Ne prend pas en charge toute la gamme de fonctionnalités de Spring MVC, mais en supporte la plupart.

Aussi Akos Lukacs a pointé vers une autre bonne bibliothèque ci-dessous par ITCloud. Cependant, celui-ci n'est malheureusement pas disponible sur NuGet.

+0

trouvé le: http://stackoverflow.com/questions/894779/asp-net-mvc-routing-via-method-attributes/895176#895176 :-) –

+0

Je n'ai pas trouvé la bibliothèque ITCloud sur NuGet , mais j'ai eu l'idée de * chercher * sur NuGet et walla: https://github.com/mccalltd/AttributeRouting/wiki/1.-Getting-Started –

Répondre

0

Bien sûr, vous pouvez utiliser Spring.NET:

http://www.springframework.net/

+0

J'ai regardé Spring.NET et je n'ai pas trouvé la réponse Là. Pouvez-vous me pointer dans la bonne direction? i.e quel serait l'équivalent du code ci-dessus en utilisant Spring.NET? –

Questions connexes