Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Orchardcms 果园再利用';的核心来构建另一个可扩展性框架_Orchardcms_Web Extensibility - Fatal编程技术网

Orchardcms 果园再利用';的核心来构建另一个可扩展性框架

Orchardcms 果园再利用';的核心来构建另一个可扩展性框架,orchardcms,web-extensibility,Orchardcms,Web Extensibility,我非常渴望听到关于这方面的意见 我们正在为web应用程序构建一个可扩展的体系结构。我们有一个构建默认产品的核心团队。其他开发团队采用默认产品,并希望在代码级别覆盖/替换/扩展其功能 我们正在考虑使用果园的核心来实现这一目标 如果我们这样做,可能包括: 从Orchard中删除所有与CMS相关的内容 剥离Orchard的数据库 使用/构建Orchard的核心DLL以创建我们所需的可扩展功能 一种替代方法是普通的ASP.NET MVC扩展性 意见?果园被称为CMS,但它肯定远不止于此。它非常通用,为您

我非常渴望听到关于这方面的意见

我们正在为web应用程序构建一个可扩展的体系结构。我们有一个构建默认产品的核心团队。其他开发团队采用默认产品,并希望在代码级别覆盖/替换/扩展其功能

我们正在考虑使用果园的核心来实现这一目标

如果我们这样做,可能包括:

从Orchard中删除所有与CMS相关的内容 剥离Orchard的数据库 使用/构建Orchard的核心DLL以创建我们所需的可扩展功能 一种替代方法是普通的ASP.NET MVC扩展性


意见?

果园被称为CMS,但它肯定远不止于此。它非常通用,为您提供了许多现成的非CMS功能。例如,它可以很容易地使用模块进行扩展-这对于构建框架应用程序非常有用。此外,Orchard不会阻止您使用常规ASP.NET MVC。如果在Orchard中找不到所需的内容,您可以添加常规控制器并在vanilla MVC中实现应用程序的一部分。最后,框架本身具有很强的可扩展性,如果需要,通常可以覆盖其中的每一个机制

另一方面,Orchard一开始有点难学。没有太多文档,框架中有很多“魔力”。有时很难弄清楚如何实现某些特定的功能。至少这是我的印象。然而,社区是非常有帮助的,通常你可以找到人来帮助你。在你了解了Orchard之后,这是一个很棒的框架


因此,在你的情况下,我认为这很值得一试。

果园被称为CMS,但它肯定远远不止于此。它非常通用,为您提供了许多现成的非CMS功能。例如,它可以很容易地使用模块进行扩展-这对于构建框架应用程序非常有用。此外,Orchard不会阻止您使用常规ASP.NET MVC。如果在Orchard中找不到所需的内容,您可以添加常规控制器并在vanilla MVC中实现应用程序的一部分。最后,框架本身具有很强的可扩展性,如果需要,通常可以覆盖其中的每一个机制

另一方面,Orchard一开始有点难学。没有太多文档,框架中有很多“魔力”。有时很难弄清楚如何实现某些特定的功能。至少这是我的印象。然而,社区是非常有帮助的,通常你可以找到人来帮助你。在你了解了Orchard之后,这是一个很棒的框架


所以在你的情况下,我认为这很值得一试。

我们在ITV采取了类似的方法,我们决定要转移到一个新的系统,需要Orchard拥有的许多功能,但我们不需要全部。。。i、 事情的一部分

我们将Orchard.Web作为所有“区域/模块”的主机,这非常重要,因为它迫使开发人员考虑松散耦合他们的组件


然后,我们决定采用该框架并去掉其中的某些方面。在这个框架中,我们围绕IDependency进行了日志记录、缓存和DI工作。最难的部分是Autofac。请慢慢来,因为我认为我们的实现不是最好的,而且我确信其中存在缺陷。我们采用了大量Orchard DI代码,并试图在不使用所有外壳的情况下对其进行改造。

我们在ITV采用了类似的方法,我们决定要迁移到一个新系统,并希望Orchard拥有很多功能,但我们不需要所有这些功能。。。i、 事情的一部分

我们将Orchard.Web作为所有“区域/模块”的主机,这非常重要,因为它迫使开发人员考虑松散耦合他们的组件


然后,我们决定采用该框架并去掉其中的某些方面。在这个框架中,我们围绕IDependency进行了日志记录、缓存和DI工作。最难的部分是Autofac。请慢慢来,因为我认为我们的实现不是最好的,而且我确信其中存在缺陷。我们使用了大量的Orchard DI代码,并试图在不使用所有外壳材料的情况下对其进行改造。

另一种可能更具实验性的方法是使用

这个框架允许您在任何应用程序中运行轻量级的Orchard Shell,因此本质上您可以在任何地方编写Orchard代码,可以是控制台应用程序、云工作程序,甚至是非Orchard web应用程序(尽管后者有点无意义)

此外,Orchard App Host正是您想要实现的一个示例:将Orchard剥离到其核心,并将其用作通用应用程序框架。这是可能的,在一个相当干净的方式(不修改果园),但相当复杂。如果没有更好地理解您的用例,我怀疑您是否想要推出类似的东西


您基本上可以从Orchard解决方案中删除每个模块,即使是核心模块,如果您喜欢冒险并从那里开始构建:这可能是最简单的。然而,很自然,这也意味着,一旦你尝试使用裸核以外的任何东西,你就必须重新实现Orchard中已经存在的东西。

另一种可能更具实验性的方法是使用

这个框架允许您在任何应用程序中运行轻量级的Orchard Shell,因此本质上您可以在任何地方编写Orchard代码,可以是控制台应用程序、云工作程序,甚至是非Orchard web应用程序(尽管后者有点无意义)

此外,Orchard App Host正是您想要实现的一个示例:将Orchard剥离到其核心,并将其用作通用应用程序框架。这是可能的,在一个相当干净的方式(不修改果园),但相当复杂。没有更好的理解