文档详情

Orchard中的命令行工具.docx

发布:2017-12-15约4.77千字共8页下载文档
文本预览下载声明
Orchard中的命令行工具在Orchard中为命令行工具(Command-Line)添加一个新命令在Orchard中有一个非常好用的命令行工具(Command-Line),我们可通过运行一些命令执行多种操作,如:创建/代码模板,打包模块,启用功能等等。关于命令行工具的更多介绍,可以查看《/esshs/archive/2011/06/09/2076129.htmlOrchard中的命令行工具》。如何才能定义我们自己特有的命令,下面我们还是用以前所开发的/esshs/archive/2011/07/13/2104920.html产品示例模块来举例说明。?首先,我们按照Orchard中的一些约定和规范在MyCompany.Products项目中添加一个Commands目录,并在此目录中添加一个ProductCommands.cs文件。例如,我们希望能够在命令行工具中添加我们要用到产品分类,并能通过相应命令快速创建产品,我们就可以通过输入以下代码实现。??ProductCommands.csusing?System;using?System.Linq;using?System.Text.RegularExpressions;using?System.Xml.Linq;using?Orchard.Commands;using?Orchard.ContentManagement;using?Orchard.ContentManagement.Aspects;using?Orchard.Core.Common.Models;using?Orchard.Core.Navigation.Models;using?Orchard.Core.Routable.Models;using?Orchard.Core.Routable.Services;using?Orchard.Security;using?MyCompany.Products.Services;using?Orchard.Core.Navigation.Services;using?Orchard.Settings;using?Orchard.Data;using?MyCompany.Products.Models;using?Orchard;namespace?MyCompany.Products.Commands{?///?summary?///?定义命令行功能,默认需要继承DefaultOrchardCommandHandler类?///?/summary?public?class?ProductCommands?:?DefaultOrchardCommandHandler??{?private?readonly?IContentManager?_contentManager;?private?readonly?IRepositoryCategoryPartRecord?_categoryRepository;?public?ProductCommands(IContentManager?contentManager,?IRepositoryCategoryPartRecord?categoryRepository)?{?_contentManager?=?contentManager;?_categoryRepository?=?categoryRepository;?}?///?summary?///?加上OrchardSwitch属性表示改字段可以通过命令行参数来获取值?///?/summary?[OrchardSwitch]?public?string?Slug?{?get;?set;?}?[OrchardSwitch]?public?string?Title?{?get;?set;?}?[OrchardSwitch]?public?string?Price?{?get;?set;?}?[OrchardSwitch]?public?string?Brand?{?get;?set;?}?[OrchardSwitch]?public?string?CategoryName?{?get;?set;?}?[OrchardSwitch]?public?string?Description?{?get;?set;?}?///?summary?///?在方法上加上?///?CommandName,定义命令名?///?CommandHelp,定义命令帮助?///?/summary?///?param?name=categoryName以空格为分隔依次接收此命名后的多个参数,当需要传递有空格的值可以加上引号/param?///?returns/returns?[CommandName(p
显示全部
相似文档