我正在尝试将Piranha集成到一个现有的ASP.NET MVC网站中。我已经成功地将我的web应用程序转换为使用.net 4.5 MVC5 (最初是.net 4.0,MVC4)。我添加了PiranhaCMS.Mvc包,它临时添加了PiranhaCMS.Core包。
开始-开始指南说明将passiveMode设置为true。但是我更喜欢使用我的和Piranha的CMS路由机制。因此,我将passiveMode设置为false。我的Web.config如下:
<piranha>
<settings>
<managerNamespaces value="" />
<disableManager value="false" />
<disableTypeBuilder value="false" />
<passiveMode value="false" />
<prefixlessPermalinks value="false" />
</settings>
<providers>
<mediaProvider value="Piranha.IO.LocalMediaProvider, Piranha" />
<mediaCacheProvider value="Piranha.IO.LocalMediaCacheProvider, Piranha" />
<cacheProvider value="Piranha.Cache.WebCacheProvider, Piranha" />
<logProvider value="Piranha.Log.LocalLogProvider, Piranha" />
</providers>
</piranha>我的RouteConfig.cs包含以下内容:
routes.MapRoute("Default", "{controller}/{action}/{id}",
new {controller = "Home", action = "Index", id = UrlParameter.Optional},
new[] {"xxx.xxx.xxx.Controllers"}
).DataTokens["UseNamespaceFallback"] = false;我可以访问"http://dev.test.com/manager“上的Manager控制台。但是,当我试图访问主要的现有网站"http://dev.test.com“时,我使用请求的URL: /page获得了一个404错误
我不知道什么是/page。此外,我试图在Manager控制台上创建一个页面,其中permalink为"http://dev.test.com/home/enews“。当访问后者时,它似乎是被重定向的,我获得了与请求的URL: /page相同的404错误。
注意,当我将passiveMode设置为true时,我可以访问我现有的主要网站"http://dev.test.com“。我真的很期待将Piranha CMS集成到我现有的应用程序中,并希望得到某人的指导。
发布于 2014-11-12 11:10:10
当您使用模板项目(即PiranhaCMSMvc)创建应用程序时,您将在项目中获得两个基本控制器模板,一个用于显示页面,另一个用于显示帖子。当您简单地添加Piranha.Mvc包时,您不会得到任何模板文件。
当您导航到http://dev.test.com时,Piranha路由会找到起始页面,然后将其路由到~/ page ,默认模板中的将是PageController。由于找不到此控制器,您将得到404错误。
最简单的入门方法是使用PiranhaCMSMvc NuGet包创建一个新的空白应用程序,并查看包括的控制器。然后,可以将它们复制到现有的应用程序中。
诚挚的问候
菅直人
https://stackoverflow.com/questions/26880589
复制相似问题