c# – 从代码运行Sitecore Powershell脚本
发布时间:2020-12-15 23:35:43 所属栏目:百科 来源:网络整理
导读:我已经安装了流行的 Powershell Console Sitecore插件,到目前为止我很喜欢它. 我希望能够以编程方式在C#中调用特定脚本(因为用户输入的结果),但我找不到任何有效的资源指向我正确的方向. 有没有办法实现这个目标?经典Powershell脚本的规则是否适用于Sitecor
我已经安装了流行的
Powershell Console Sitecore插件,到目前为止我很喜欢它.
我希望能够以编程方式在C#中调用特定脚本(因为用户输入的结果),但我找不到任何有效的资源指向我正确的方向. 有没有办法实现这个目标?经典Powershell脚本的规则是否适用于Sitecore版本? 解决方法
您可以使用以下代码直接从您自己的代码中调用任何PowerShell脚本
using Cognifide.PowerShell.Core.Host; using Sitecore.Data.Items; namespace MyProject { public class TestSPE { public void Invoke() { using (ScriptSession scriptSession = ScriptSessionManager.NewSession("Default",true)) { Item speScriptItem = Sitecore.Context.Database.GetItem("/path-or-id/to-spe-item"); string script = speScriptItem["Script"]; if (!string.IsNullOrEmpty(script)) scriptSession.ExecuteScriptPart(script); } } } } 请务必在项目中添加对Cognifide.PowerShell.dll的引用. 如果您的脚本未存储在Sitecore中的PowerShell脚本项目上,则传入一个包含您希望运行的SPE命令和脚本的字符串. 您可以在此博客文章中阅读有关Using PowerShell Console for Sitecore in Your Own Code的更多信息 更新: 要创建“脚本项”,请使用以下模板创建项: /sitecore/templates/Modules/PowerShell Console/PowerShell Script 这将为您提供脚本正文,您可以在其中放置代码.您可以在/ sitecore / system / Modules / PowerShell / Script Library下的模块脚本库中找到默认SPE脚本的示例. 更新2: 要从脚本中获取返回值,请调用以对方法的stringOutput参数传递false: List<object> results; results = scriptSession.ExecuteScriptPart(script,false); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- oracle – SQLPlus设置来生成制表符分隔的数据文件
- XML和JAVA实体类的相互转化(微信例子)
- ruby-on-rails – 首先区别!和Rails中的第一个方法
- 第七章、更高级的索引结构(XML索引、用户定义数据类型、层
- DDD实战进阶第一波(五):开发一般业务的大健康行业直销系统
- 正则表达式
- ruby-on-rails – 如何确定github合并请求是否/何时作为gem
- [ERROR]-Error: failure: repodata/filelists.xml.gz from
- wpf – 从XAML调用代码隐藏中定义的自定义依赖项属性
- iphone – 用StoryBoards以编程方式设置UITabBarItem图标?