当前位置:  开发笔记 > 编程语言 > 正文

使用IIS 7进行城堡MonoRail路由?

如何解决《使用IIS7进行城堡MonoRail路由?》经验,为你挑选了1个好方法。

我正在尝试使路由模块使用默认操作或控制器,但事实并非如此.我总是面对404页面找不到.我忘记做某事吗?我非常喜欢在ASP.NET MVC功能中进行路由,但我不确定我是否可以在MR中执行相同操作.我正在使用IIS7与.NET 3.5的城堡主干的构建.



1> Peter Mounce..:

如果您使用的是IIS7,则需要在system.webServer/httpModules节点中注册路由模块.

system.web/httpHandlers和httpModules是IIS7忽略的AFAIK.

MonoRail路由绝对有效; 我们快乐地运转起来.这是config和global.asax.cs片段:

    
    

    

    
    
        
        
        
        
        
        
        
  
  
  
  
        
    

    
        
        
    

    





    
        
        
        
        
        
        
        
        
        
        
        
    

    
        
        
    

    


(事实上​​,我们从来没有在IIS6上工作,但是在web-dev服务器上工作 - 从那时起我们就得到了支持并被告知它可以在IIS6级别上映射到aspnet_isapi.dll - 但是然后,运行Win2003的开发人员更新到了IIS7上的东西,所以我们没有尝试过)

        protected virtual void RegisterRoutes(IRoutingRuleContainer engine)
    {
        engine.Add
            (
            new PatternRoute(ThorController.CtlrHome, "/[controller]")
                .DefaultForController().Is(ThorController.CtlrHome)
                .DefaultForArea().Is(ThorController.AreaPublic)
                .DefaultForAction().Is(ThorController.ActionIndex)
            );

        engine.Add
            (
            new PatternRoute(ThorController.KeyDefault, "///[action]/[id]")
                .DefaultForArea().Is(ThorController.AreaPublic)
                .DefaultForAction().Is(ThorController.ActionIndex)
                .DefaultFor(ThorController.KeyId).IsEmpty
            );
    }

(第一个路由处理我们的应用程序root)

(这些值是我们的ThorController基类上的consts以尝试减少字符串文字)

顺便说一句,任何人都知道是否存在语法来执行我们在一行中执行静态文件处理的操作?肯定有比我们的"解决方案"更好的方式;-)

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有