Workflow Foundation 4 中的依赖注入/IoC

2023-11-21

是否可以在您的工作流程活动中使用 DI?如果是,怎么办?

例如,如果您有类似的活动

public sealed class MyActivity : CodeActivity
{
    public MyClass Dependency { get; set; }

    protected override void Execute(CodeActivityContext context)
    {
        Dependency.DoSomething();
    }
}

我该如何设置Dependency?

(我使用的是Spring.Net)


工作流不使用 IOC 容器。它使用 ServiceLocator 模式,您可以将依赖项作为扩展和工作流活动添加到工作流运行时,并通过上下文从工作流扩展中检索这些服务。

ServiceLocator 和 IOC 模式很相似,并且在解耦依赖方面具有相同的目的。不过,在 IOC 容器中推送依赖项而使用 ServiceLocator 拉出依赖项时,方法是不同的。

活动示例:

public class MyBookmarkedActivity : NativeActivity
{
    protected override void CacheMetadata(NativeActivityMetadata metadata)
    {
        base.CacheMetadata(metadata);
        metadata.AddDefaultExtensionProvider<MyExtension>(() => new MyExtension());
    }

    protected override void Execute(NativeActivityContext context)
    {
        var extension = context.GetExtension<MyExtension>();
        extension.DoSomething();

    }
}

MyExtension 类是此处的扩展,它没有基类或接口要求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Workflow Foundation 4 中的依赖注入/IoC 的相关文章

  • 如何像 youtube 一样在纸板中观看普通视频

    我有一个可以正常播放的应用程序VR视频 我的应用程序有两个玩家可以玩这两种类型 在我的VrVideoView有一个按钮可以让视频播放立体声模式 我的问题是 我怎样才能观看正常的视频Cardboard就像YouTube app None
  • 如何使用 bash 脚本通过 tar 备份文件系统?

    我想备份我的 ubuntu 文件系统 我写了这个小脚本 这是非常基本的 但这是我第一次尝试 我害怕犯错误 由于需要几个小时才能完成才能看到结果 因此我认为最好向经验丰富的程序员询问我是否做错了什么 我特别感兴趣 gt 会记录输出mv或者它也
  • 偶尔连接的 CQRS 系统 - 客户端和服务器命令 - 基于任务的屏幕

    Premise 建议在CQRS DDD ES样式应用程序使用task基于屏幕 这些屏幕引导用户并捕获意图 These task屏幕也可以称为感应式用户界面 UI 设计指南的一些示例可以帮助您创建现代的 用户友好的应用程序 Microsoft
  • Java 中的下载管理器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要通过 FTP HTTP 从 Java 获取几个大文件 几个演出 有现成的库 java 命令行工具
  • Hibernate Envers:如何捕获谁删除了审计表中的实体

    我在用hibernate envers with spring 一切工作正常 除了当我删除一个实体时 它不会改变的值updated by and updated date在审计表内 它会在之后保存一个与之前完全相同的实体 仅复制 sprin
  • 真实值与预测值的降维可视化

    我有一个数据框 如下所示 label predicted F1 F2 F3 F40 major minor 2 1 4 major major 1 0 10 minor patch 4 3 23 major patch 2 1 11 min
  • 在magento Attributes中添加自定义属性并显示在前端

    我已经开始使用 magento 作为我的电子商务 cms 我知道这是一个非常强大的平台 最近 我发现它的功能可以帮助开发人员扩展核心 并且我已经成功添加了自定义类别选项 是否有机会在某个属性上达到相同的结果 我想在属性选项卡上添加文本描述并
  • 解析用户周围的位置

    您好 我开发了一个应用程序 我想问一个问题 在我的数据云解析中 我有 餐馆 类 我有三列 名称 类型字符串 imageFile 类型文件 description 类型数组和 Location 类型GeoPoint 我想知道使用哪种方法来获取
  • 为什么 INT64_MIN 的定义不同?为什么他们的行为不同?

    The stdint h我公司的标题是 define INT64 MIN 9223372036854775808LL 但在我项目的一些代码中 一位程序员写道 undef INT64 MIN define INT64 MIN 92233720
  • MVC ASP.NET 或 Razor

    我对 MVC 很陌生 我对 Silver light WPF 和 MVVM 有相当多的了解 但对 MVC 知之甚少 我正在按照 Microsoft 网站上的主要教程进行操作http www asp net mvc tutorials get
  • 物理写入文件已满 - mysql 错误

    我正在使用xampp 每次启动mysql时 我都会在xampp中收到以下错误 Error MySQL shutdown unexpectedly 13 16 14 mysql This may be due to a blocked por
  • 重定向到其他控制器中的操作

    我想从一个控制器中的操作重定向到第二个控制器中的操作 通常我会使用 RedirectToAction actionName controllerName objects 我想要重定向到的方法有两个重载 一个用于 HttpVerbs Get
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • 如何将 Hibernate 5 安装到 Apache Karaf v4 中

    我已经安装了 Apache Karaf v4 03 并查询了 Hibernate 的可用功能列表 如下所示 不幸的是 我使用的是 Hibernate v5 hibernate 3 3 2 GA Uninstalled enterprise
  • 从 C/C++ 程序进行 Ping

    我想编写一个 C 或 C 程序 给定一个 IP 地址 对其进行 Ping 然后根据 Ping 是否成功执行进一步的操作 这个怎么做 尽情享受Ping 页面 http www ping127001 com pingpage htm 其中有一个
  • 如何在 Swift 中使用 substringToIndex? [复制]

    这个问题在这里已经有答案了 我在这一行收到编译器错误 UIDevice currentDevice identifierForVendor UUIDString substringToIndex 8 类型 String Index 不符合协
  • 在 MVC4 中使函数异步时 HttpContext.Current null

    我目前正在 VS2010 SP1 中开发 MVC4 我做了其中一个功能 控制器类异步 作为其中的一部分 我制作了控制器类 派生自 AsyncController 并添加了以下两个方法 参见代码部分 1 和 2 下 一种以 Async 结尾的
  • 如何在 Laravel 中创建一条包罗万象的路线

    我需要一个 Laravelroutes php将捕获所有流量到特定的条目example com premium section网站 以便我可以提示人们在访问优质内容之前成为会员 您还可以通过在参数上使用正则表达式来捕获 全部 Route g
  • SQL 大表中的随机行(使用 where 子句)

    我有一个网站 人们可以在其中对汽车进行投票 向用户展示 4 辆汽车 他 她可以投票选出他们最喜欢的汽车 桌子cars有重要的列 car id int 10 not auto increment so has gaps views int 7
  • 使用 TkInter 绑定设置不可交互(点击)覆盖

    我已经浏览了其他几篇关于类似问题的帖子 所有这些似乎都指向this https stackoverflow com questions 29458775 tkinter see through window not affected by

随机推荐

  • 为什么浏览器无法发送gzip请求?

    如果网络服务器可以发送 gzip 响应 为什么浏览器不能发送 gzip 请求 客户端和服务器必须就如何通信达成一致 其中一部分是通信是否可以被压缩 HTTP 被设计为请求 响应模型 最初的创建几乎可以肯定地设想总是有小请求和潜在的大响应 压
  • 如何在一个屏幕而不是整个应用程序中处理退出应用程序 - React Native?

    我有一些问题返回处理程序 问题是 运行应用程序并转到 注册 屏幕并触摸手机背面时 他们将运行该功能并显示警报进行确认 但现在当我转到任何其他屏幕并触摸背面时 他们将需要每次返回时就返回上一个屏幕 BackHandler exitApp 运行
  • 将断点保存到文件

    调试 Python 代码时 我从命令行通过 ipdb 运行脚本 并设置了多个断点 然后我对一个或多个模块进行一些更改 然后重新运行 但是 如果我只是使用运行模块不要重新加载 为了确保它们确实如此 我可以完全存在并重新启动Python 但随后
  • 如何获得英文的 boost::system::error_code::message ?

    在具有本地化 UI 的 Win7 上 error code message 返回非英语消息 据我所知 在 Boost 1 54 中 对于system error category 上面的函数归结为以下 WinAPI 调用 DWORD ret
  • 如何使用 ExecutorService 等待所有线程完成?

    我需要一次执行 4 个任务 如下所示 ExecutorService taskExecutor Executors newFixedThreadPool 4 while taskExecutor execute new MyTask wai
  • 如何在 macOS 或 OS X 上安装 pip?

    这个问题的答案是社区努力 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 昨天我花了一整天的时间寻找安装的明确答案pip Python 的包管理器 我找不到好的解决办法 我该如何安装它 在 Linux 或 MacOS 上 python
  • 在 Laravel Homestead 上使用 SSL

    我正在使用 Laravel Homestead 它运行良好 现在我想在我的一个网站上实施 HTTPS 我发现要实现这一点 你只需要添加ssl true进入 Homestead yaml 然后运行 vagrant reload provisi
  • 使用 pywin32 控制 Adob​​e Acrobat 时出现“未实现”异常

    我使用 pywin32 在 python 中编写了一个脚本 将 pdf 文件保存为文本 直到最近都工作正常 我在 Excel 中使用类似的方法 代码如下 def pdf2Txt self pdf fileformat com adobe a
  • 如何重写javascript中的eval函数?

    例如 function var proxied window eval window eval function return proxied apply this arguments 但这段代码不起作用 eval是魔法 与 真实 函数不同
  • 在 Jquery 中创建随机下落物体

    我试图让div从上到下下降 这是我尝试过的代码 但它不能满足我的需求 我想在准备好后生成 20 div 然后如何使该 20 div 持续从上到下一致地下降 在 jquery 中是否可以做到这一点 http jsfiddle net MzVF
  • Javamail 和 Gmail Pop3 SSL

    我正在尝试将我的应用程序连接到 Gmail 以检查电子邮件 我必须对 POP3 使用 SSL 这是我的代码 Properties props new Properties props put mail host pop gmail com
  • 检查是否连接到Wi-Fi网络C#

    有没有办法检查电脑是否连接到wifi网络 另外 如果已连接 我想要 SSID 可能的 检查互联网连接的部分在这里回答 C 检查互联网连接 SSID部分在这里回答 获取我在 Windows Vista 上使用 C Net 连接到的无线网络的
  • 使用 JQuery 计时器调用 js 函数

    无论如何 有没有办法为 JQuery 实现计时器 例如 每10秒需要调用一个js函数 我尝试了以下方法 window setTimeout function alert test 10000 但这只执行一次 然后就不会再执行了 你可以使用这
  • str.format() -> 如何左对齐

    gt gt gt print there are 0 10 students and 1 10 teachers format scnt tcnt there are 100 students and 20 teachers 输出的代码是什
  • Android - Retrofit 2 - 身份验证器结果

    我正在尝试使用 Retrofit 2 0 0 beta3 但是当使用身份验证器添加令牌时 我似乎无法从同步调用中获取数据 我们在后端的日志记录只显示了很多登录尝试 但我无法从正文中获取数据来实际添加到标头中 public static cl
  • Rails 和 MSSQL 2008 - 我们会遇到障碍吗?

    我工作的公司正在寻求将平台从 ColdFusion 8 Windows 切换到 Ruby on Rails Linux 我们的数据库解决方案将保留为 Windows 上的 MSSQL 2008 我可能会单独跟进与此迁移相关的一系列问题 但现
  • 无法识别的字体系列材质图标?

    我是 React Native 的新手 我已手动将react native vector icons 库添加到 Xcode 和 Android studio 中 如果使用 Xcode 运行代码 则可以成功执行 没有任何问题 但如果我尝试从终
  • Delphi 多线程消息循环

    我的应用程序有几个线程 1 主线程 2 2个子主线程 每个都有消息循环 如下所示 由TFQM使用 3 n个工作线程 简单循环 包含Sleep 我的问题是 当我关闭应用程序时 工作线程设法正确退出 但是当我发出 WM QUIT 关闭它们时 2
  • 访问 NSArray 的随机元素时的 EXC_ARITHMETIC

    我试图随机获取数组的值 但出现错误 到目前为止 这是我的代码 NSMutableArray validMoves NSMutableArray alloc init for int i 0 i lt 100 i validMoves rem
  • Workflow Foundation 4 中的依赖注入/IoC

    是否可以在您的工作流程活动中使用 DI 如果是 怎么办 例如 如果您有类似的活动 public sealed class MyActivity CodeActivity public MyClass Dependency get set p