저는 모노레일을 조금 전에 배우기 시작했는데 최근에는 라우팅으로 넘어갔습니다. 안타깝게도 문서는 다소 희소하지만 여러 블로그 게시물에서 정보를 얻을 수있었습니다. 그 중 대부분은 2 년 이상 된 것입니다. 나는 라우팅을 꽤 빠르게 설정했지만 Monorail의 라우팅 엔진은 .jpeg 파일을 컨트롤러/동작 요청으로 혼동한다는 것을 깨닫게되었습니다.모노레일 RC 2.1 라우팅은 누락 된 정적 파일 (예 : .jpg와 같은)이 컨트롤러/액션이라고 생각합니다.
public void Application_OnStart()
{
log4net.Config.XmlConfigurator.Configure();
RoutingModuleEx.Engine.Add(
new PatternRoute("<controller>/[action]"));
}
오류 자체는 꽤 분명하게 말한다 :
Global.asax에 내부의 라우팅 엔진의 초기화이기 때문에<monorail useWindsorIntegration="false" defaultUrlExtension=".rails">
<url useExtensions="true"/>
<controllers>
<assembly>NetTwitter.Web</assembly>
</controllers>
<viewcomponents>
<assembly>NetTwitter.Web</assembly>
</viewcomponents>
<viewEngine viewPathRoot="Views" customEngine="Castle.MonoRail.Framework.Views.NVelocity.NVelocityViewEngine, Castle.MonoRail.Framework.Views.NVelocity"/>
</monorail>
<system.web>
<httpHandlers>
<!-- block direct user access to template files -->
<add verb="*" path="*.vm" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.boo" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.st" type="System.Web.HttpForbiddenHandler"/>
<add verb="GET" path="*.css" type="System.Web.StaticFileHandler" />
<add verb="GET" path="*.js" type="System.Web.StaticFileHandler" />
<add verb="GET" path="*.jpg" type="System.Web.StaticFileHandler" />
<add verb="GET" path="*.gif" type="System.Web.StaticFileHandler" />
<add verb="GET" path="*.png" type="System.Web.StaticFileHandler" />
<add verb="GET" path="*.jpeg" type="System.Web.StaticFileHandler" />
<add verb="*" path="*.rails" type="Castle.MonoRail.Framework.MonoRailHttpHandlerFactory, Castle.MonoRail.Framework"/>
</httpHandlers>
<httpModules>
<add name="routing" type="Castle.MonoRail.Framework.Routing.RoutingModuleEx, Castle.MonoRail.Framework" />
</httpModules>
:
webconfig 파일은 꽤 표준입니다
{ "컨트롤러를 찾을 수 없습니다. 영역 : ''컨트롤러 이름 : 'content'"}
그럼 어떻게해야합니까? 미리 감사드립니다.