将Umbraco 8集成到现有的.NET解决方案中

问题描述 投票:0回答:2

我们目前正在开发包含纯MVC项目的.NET解决方案。一开始,很好。但是,内容似乎经常变化。

我认为最好将一些块内容和静态页面制作成CMS。它们可以是CMS块的帖子列表和静态页面的CMS页面。

我的团队选择了Umbraco。最困难的是将CMS系统集成到块中。

我试着按照这个教程:https://24days.in/umbraco-cms/2016/adding-umbraco-to-existing-site/。但是,我遇到了一些问题:

  1. 移动控制器后,我不知道如何重写路由
  2. 系统总是告诉我这个错误:System.Net.Http.Formatting - >我试图安装,但它似乎不是现有的包。
  3. 该教程已过时。项目的结构似乎有所改变。
  4. 源文件不见了。

我不知道是否有针对这种情况的任何建议和新教程。我可能会坚持安装依赖项。希望我能从你们那里得到一些建议,以便我能继续。

c# .net model-view-controller umbraco umbraco8
2个回答
1
投票
  1. 您不需要为Umbraco获得许可证,它是免费的开源软件
  2. V8上周刚刚发布了一个全新的版本,很多都被重写了
  3. 那篇文章与V7有关,所以你应该期望它能够工作,而不是v8
  4. 祝好运 :-)

0
投票
  1. 该教程已过时。项目的结构似乎有所改变。

Umbraco v8仍然很新,正如你所说,大部分文档已经过时了。您可以查看文档here的当前状态。

除此之外,你可以下载source code from Git并检查事情是如何完成的,但它可能非常耗时。

  1. 移动控制器后,我不知道如何重写路由

如果我理解正确,你想拥有自己的控制器,拥有自己的路线。

Umbraco有自己的global.asax实现并覆盖默认路由。通常的路由类没有执行,您必须在应用程序启动时添加路由。

我设法通过创建User Composer来实现这一目标。用户作曲家在核心作曲家之后,在最终作曲家之前创作。 (下面,我创建了一个IComposer,但IUserComposer也应该工作。)

public class ApplicationEventComposer : IComposer
{
    public void Compose(Composition composition)
    {
        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }
}

在这一个你可以注册自己的RouteConfig,捆绑等。只是要小心,很容易弄乱Umbraco路线......

下面是一个添加名为TestController的新控制器的示例:

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.MapRoute(
            name: "Test",
            url: "Test/{action}/{id}",
            defaults: new { controller = "Test", action = "Index", id = UrlParameter.Optional }
        );
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.