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