我正在将已经播放了一段时间的Web应用程序转换为Sitefinity 4托管站点。有很多关于如何使用该软件来创建新网站的文档,但我发现很少有描述如何从非cms迁移到Sitefinity的过程。
所以 - 具体来说,我想就从非托管到托管的转换过程提供一些指导。我一直在搜索谷歌和Sitefinity论坛等,但除了如何从一个版本的Sitefinity迁移到另一个版本之外什么都没找到 - 不是我想要做的。
网站访问的任何线索或要阅读的文档页面都会非常有用。
答案 0 :(得分:1)
你必须咬紧牙关,在项目开始时投入更多资源,不要在一段时间内发布任何东西。没有基本组件,您将无法驾驶您的汽车。同样的原则适用于此。
无论您的要求是什么,您都必须破解CMS,然后再修复黑客攻击,或者从一开始就正确地进行修复。
这是非常粗略的准则,但您的要求也是如此。
总结一下,没有快捷的方法。你必须在开始时正确地完成它,或者稍后在bug / hack修复上投入更多资源。
答案 1 :(得分:1)
如果我们在应用程序的根目录中有Sitefinity,我们就不能, 根据Sitefinity,有任何页面不由SF管理
这不完全正确。 Sitefinity允许您添加“外部页面”,这意味着您可以在站点地图中创建想要外部页面的颂歌。因此,您在Sitefinity中的导航将显示完整的网站页面结构,而该结构中的某些页面实际上将链接到外部页面。
以编程方式创建页面结构绝对简单快捷。
答案 2 :(得分:1)
实际上这很容易实现。 Sitefinity是完全动态的CMS(意思是,没有真正的文件)。该实现使用RoutingEngine和VirtualPathProvider来实现此目的。实际上这意味着您有两个可靠的标准扩展点,可以在“sitefinity托管部分”和“自定义托管部分”中拆分网站。
因此,一个非常简单的方法是在SitefinityPageRoute之前简单地注册路由(这里有更多信息:ASP.NET routing),因为如果找不到页面,SitefinityPageRoute将抛出404。
所以,假设你在SitefinityPageRoute之前注册一个路由“〜/ mystuff”,所有以“〜/ mystuff”开头的请求将首先进入你的RouteHandler,在那里你可以决定处理它们(写入http响应)或者什么也不做,让它落到Sitefinity路线上。
另一种方法当然是实现一个自定义的VirtualPathProvider,但是,如果您只是希望以不同的方式处理某些页面,这可能是一种过度杀伤。
所有这些都说明了,Sitefinity处理的页面显然不会被Sitefinity处理:)(因此,没有页面编辑器,没有工作流程,没有翻译,没有小部件,没有模板,没有主题)。