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

时间:2019-03-04 08:14:16

标签: c# .net model-view-controller umbraco umbraco8

我们目前正在研究包含纯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. 源文件消失了。

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

2 个答案:

答案 0 :(得分:1)

  1. 您无需付费即可获得Umbraco的许可,它是免费的开源软件
  2. V8上周才发布,并且是一个全新版本,很多内容都已被重写
  3. 该文章与V7有关,因此您应该希望它能正常工作,而不是v8
  4. 祝你好运:-)

答案 1 :(得分:0)

  
      
  1. 该教程已过时。该项目的结构似乎已更改。
  2.   

Umbraco v8仍然很新,正如您所说的,大多数文档已过时。 您可以检查文档here的当前状态。

除此之外,您可以下载source code from Git并检查操作方式,但这确实很耗时。

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

如果我理解正确,那么您希望拥有自己的控制器和自己的路线。

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 }
        );
    }
}