对于C#/ .NET,是否有相当于Java的Spring MVC样式url映射?

时间:2011-08-13 20:49:20

标签: c# .net asp.net-mvc spring-mvc castle-monorail

我正在寻找Spring MVC's url mapping using annotations的C#等价物,即在Java中我可以写:

@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) {
        ...
    }
}

它实际上比这个简单的例子强大得多,因为任何熟悉这个概念的人都知道。

我试图搜索如何使用ASP.MVC 3或MonoRail实现相同的功能,并且这两个框架似乎都基于RoR的约定配置“//”理念,并且很难实现以上与它们一起需要在控制器类之外有许多定制的路由条目,只有一小部分功能可通过属性获得。 Spring.NET似乎没有解决这个问题,或者说ASP.MVC的路由功能已足够。

C#世界中有没有提供此类功能的东西?我正准备着手写一些我自己的东西来解决这个问题,但我希望不要这样做。

编辑:最后找到了NuGet上可用的“AttributeRouting”项目:https://github.com/mccalltd/AttributeRouting/wiki/1.-Getting-Started。完美的工作。不支持Spring MVC所做的全部功能,但支持大部分功能。

此外,Akos Lukacs指出ITCloud下面的另一个好图书馆。但遗憾的是,NuGet上没有这个。

2 个答案:

答案 0 :(得分:0)

当然,你可以使用Spring.NET:

http://www.springframework.net/

答案 1 :(得分:0)

我最终使用了https://github.com/mccalltd/AttributeRouting/wiki/1.-Getting-Started。现在只是为了让问题完整而发布。