小编Anž*_*nik的帖子

MVC 2.0动态路由,用于电子商店中的类别名称

我目前正在使用ASP.NET MVC 2.0开发电子商店.我已经完成了大部分工作,但是一直困扰着我的部分是路由.我要这个:

HTTP://mystore.somewhere/my-category-1/

到目前为止,我已经能够使用以下方法解决它:

routes.MapRoute(
            "Category",
            "{alias}/{pageNumber}",
            new { controller = "Categories", action = "Browse", pageNumber = 1 });
Run Code Online (Sandbox Code Playgroud)

但是,这比我想要的要多得多.

在阅读了本网站的一些问题和答案之后,我发现了一个特别有趣的解决方案,需要我以编程方式为每个类别注册一条路线,所以本质上我会做的

 foreach (var c in Categories)
        {
            routes.MapRoute(
                c.Name,
                "{" + c.Alias + "}/{action}/...anything else",
                new { controller = "Category", action = "Index" }).RouteHandler = new CateegoryRouteHandler(c);
        }
Run Code Online (Sandbox Code Playgroud)

你怎么看?这是一个好主意吗?我可能会有大约200个类别,是否在路由表中有太多"路由"?你会建议另一个解决方案?

谢谢.

此致,Anže

url-routing c#-4.0 asp.net-mvc-2

6
推荐指数
1
解决办法
873
查看次数

禁用循环返回值的C#优化

我有一个返回的方法IEnumerable<T>.我把这个方法称为两个地方,在其中一个地方我没有对结果做任何事情.

看起来C#编译器删除了对该方法的调用,即使我用它来装饰它[MethodImpl(MethodImplOptions.NoOptimization)].代码甚至没有进入调用方法..ToList()但是,如果我在最后添加,它将被执行.

有没有办法通过编译器/运行时禁用此优化?查看ILDASM输出,看起来它更像是运行时优化,因为调用就在那里.

.net c# jit csc

4
推荐指数
1
解决办法
320
查看次数

标签 统计

.net ×1

asp.net-mvc-2 ×1

c# ×1

c#-4.0 ×1

csc ×1

jit ×1

url-routing ×1