Orchard CMS 中的 Work<> 类有什么用?

2024-02-12

简单明了,它的用例是什么Orchard.Environment.Work<>类定义于Orchard\Environment\WorkContextModule.cs?

它可以在几个地方找到,例如

private readonly Work<IContainerService> _containerService;

public Shapes(Work<IContainerService> containerService) {
  _containerService = containerService;
...

是否是为了延迟解决IContainerService?


The Work类用于延迟加载依赖注入。实例化类时不会解决依赖关系,而是仅在调用类时解决依赖关系Value财产:

private readonly IMyService _myService;
private readonly IMyOtherService _myOtherService;
public MyClass(Work<IMyService> myService, IMyOtherService myOtherService) {
    // Just assign the Work class to the backing property
    // The dependency won't be resolved until '_myService.Value' is called
    _myService = myService;
    // The IMyOtherService is resolved and assigned to the _myOtherService property
    _myOtherService = myOtherService;
}

现在只有当_myService.Value被调用时,IMyService 由依赖解析器解析,这为您提供了延迟加载依赖注入的工作。

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

Orchard CMS 中的 Work<> 类有什么用? 的相关文章

  • C 中的变量定义是什么意思[重复]

    这个问题在这里已经有答案了 你们能告诉我 这在 C 中意味着什么吗 define Privileged Data Privileged Data static int dVariable 编译器对变量进行寻址有特殊意义吗 这只是一个宏Pri
  • 更快的算法来计算有多少数字可以被范围内的特定整数整除

    int a b c d 0 cin gt gt a gt gt b gt gt c for int i a i lt b i if i c 0 d cout lt
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • 切换图片框可见性 C#

    为什么图片框控件的可见性属性在这里不起作用 我最初将它们设置为 false 以便在屏幕加载时它们不可见 但后来我想切换这个 我已完成以下操作 但似乎不起作用 这是一个 Windows 窗体应用程序 private void Action w
  • 为什么派生类不使用基类的operator=(赋值运算符)?

    以下是实际问题的简化版本 而不是打电话Base operator int 代码似乎生成了一个临时的Derived对象并复制它 既然函数签名似乎完美匹配 为什么不使用基本赋值运算符 这个简化的示例没有显示任何不良影响 但原始代码在析构函数中有
  • 通过单个 GPIO 引脚转储闪存

    我正在使用 Infineon 的 XMC4500 Relax Kit 并尝试通过单个 GPIO 引脚提取固件 我非常天真的想法是通过 GPIO 引脚一次转储一位 然后用逻辑分析仪以某种方式 嗅探 数据 伪代码 while word by w
  • 返回 int& 的函数[重复]

    这个问题在这里已经有答案了 我在网上查了一下发现一篇试图解释的文章std move和右值 http thbecker net articles rvalue references section 01 html并发现了一些我实在无法掌握的东
  • 在 GCC 和 Clang 下,使用 lambda 的简单 RAII 包装器的复制初始化意外失败

    我在创建一个简单的 RAII 包装器时遇到了一个意想不到的问题 更不用说下面代码的逻辑不完整性了 复制构造函数和赋值运算符未删除等 这意味着是一个SSCCE 令我印象深刻的是复制初始化我的包装器与临时 lambda 的结果会导致编译错误 而
  • C# 中附加/分离事件处理程序的不同方式有什么区别

    我的问题有两个部分 首先 我们可以通过以下两种方式附加事件处理程序 myObject MyEvent new EventHandler MyHandler myObject MyEvent MyHandler 据我了解 这两者是等价的 在第
  • 将成员函数作为参数传递/c++

    我想用 C 实现一个类b可以通过封装该迭代器类型的成员集进行某种迭代 喜欢 b object for each x do function f so 函数 f会得到每个人的x成员并做任何事情 比方说 void function f x me
  • 使用反射获取基类的受保护属性值

    I would like to know if it is possible to access the value of the ConfigurationId property which is located in the base
  • 使用 openssl 检查服务器安全协议

    我有一个框架应用程序 它根据使用方式连接到不同的服务器 对于 https 连接 使用 openssl 我的问题是 我需要知道我连接的服务器是否使用 SSL 还是 TLS 以便我可以创建正确的 SSL 上下文 目前 如果我使用错误的上下文尝试
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin
  • 为什么重载方法在 ref 仅符合 CLS 方面有所不同

    公共语言规范对方法重载非常严格 仅允许根据其参数的数量和类型来重载方法 如果是泛型方法 则根据其泛型参数的数量进行重载 根据 csc 为什么此代码符合 CLS 无 CS3006 警告 using System assembly CLSCom
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 为什么WCF中不允许方法重载?

    假设这是一个ServiceContract ServiceContract public interface MyService OperationContract int Sum int x int y OperationContract
  • 如何不在类中实现接口的功能?

    面试时面试官问了我以下问题 但我不知道这个问题的答案是什么 请帮忙 如果我不想 我必须做什么 在我的类中实现一个函数 在接口中声明为 由我班实施 Edited 我正在使用 NET 和 C 如果有人可以提供 C 示例代码示例 那就太好了 Th
  • realloc():重新分配为 char * 上的 strcat 腾出空间时下一个大小无效 [重复]

    这个问题在这里已经有答案了 我在以下代码中收到无效内存错误 printf s n FINE 5 printf s LENGTH IS d n FINE 6 strlen buffer char realloc buffer strlen b
  • 是否有任何不使用公共虚拟方法的正当理由? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否有任何不使用公共虚拟方法的正当理由 我在某处读到我们应该避免使用公共虚拟方法 但我想向专家确认这是否是有效的声明 对于良好且稳定的 API
  • 在何处将 CFLAG(例如 -std=gnu99)添加到 (Eclipse CDT) 自动工具项目中

    我有一个简单的 Autotools C 项目 不是 C 其框架是由 Eclipse CDT Juno 为我创建的 CFLAG 通过检查 似乎是 g O2 我希望所有生成的 make 文件也具有 std gnu99附加到 CFLAG 因为我使

随机推荐

  • SQL 使用 CASE 语句更新列中的行

    我有两个表 用户和 TempTable 它是用户的子集 我想更新 Users 表中的 IsActive 列 如果 TempTable 中的用户也在 Users 表中 我想设置 IsActive 1 否则设置 IsActive 0 从不在 T
  • 如何从传奇中发送重击?

    我知道我不应该尝试从 sagas 中发送 thunks 这违背了 redux saga 试图做的事情 但我正在一个相当大的应用程序中工作 大部分代码都是用 thunk 编写的 我们正在按位迁移 需要从 saga 内部调度 thunk thu
  • 使用 java 编写 .ics iCal 文件

    我正在尝试使用 java 实现我自己的 iCal 创建器 但由于某种原因我无法识别我的 ics 文件 我想知道我做错了什么 我可以获得与维基百科的示例完全相同的输出 ics 文件和我的程序生成的一次文件有什么区别 他们的例子 BEGIN V
  • 运行多个实例时无法启动logstash - path.data 设置

    你好 我是 ELK 堆栈内部的新手 在后台运行一个logstash进程 当它找到匹配的文件模式时 它如下所示 我想了解这里的重要性是什么path data选项 请帮帮我 FATAL logstash runner Logstash coul
  • swig 用变量扩展模板类

    我正在为模板类构建 Swig 接口 在我的 pyinterface i 文件中 我声明 template myclass MyClass
  • Matlab 3d 体积可视化和 3d 叠加

    问题几乎就是标题 我有一个作为原始数据加载的 3d 体积 256 256 256 size A 它仅包含零和一的值 其中 1 代表结构 0 代表 空气 我想在 MATLAB 中可视化该结构 然后对其运行算法并在其上覆盖一个覆盖层 假设颜色为
  • node-mysql 一个查询中的多个语句

    我在用着nodejs 10 26 express 3 5 node mysql 2 1 1 MySQL Server Version 5 6 16 我有 4 个 DELETE 只需要 1 个数据库请求 所以我用 连接 DELETE 命令 但
  • Flask url_用于生成 http URL 而不是 https

    我在用url for当用户注销时生成重定向 URL return redirect url for index external True 但是 当我将页面更改为https连接 将url for仍然给我http 我想明确询问url for
  • Laravel 空白白页

    我在群组中的获取路线有问题 这是我的代码 Route group prefix gt commodities function Route get commodities as gt showCommodities uses gt Comm
  • Python格式整数转换为固定长度字符串[重复]

    这个问题在这里已经有答案了 我想根据一个生成一个字符串int和零一起 并且长度应该始终为5不多也不少 For example Consider a Integer 1 Formatted String 00001 Consider a In
  • 什么是私有字节、虚拟字节、工作集?

    我正在尝试使用 perfmon windows 实用程序来调试进程中的内存泄漏 这是 perfmon 对这些术语的解释 工作集是该进程的工作集的当前大小 以字节为单位 工作集是进程中的线程最近接触的内存页集 如果计算机中的可用内存高于阈值
  • 为什么要对参数进行 null 转换? [复制]

    这个问题在这里已经有答案了 何时以及为什么有人会做以下事情 doSomething MyClass null 你曾经这样做过吗 您能分享一下您的经验吗 If doSomething已重载 您需要将 null 显式转换为MyClass因此选择
  • 计算给定月份的前 12 个月 - SimpleDateFormat

    我试图将给定月份 取自数据库 中的前 12 个月放入数组列表中 List
  • 如何强制 Apollo Client 使用缓存数据

    我们有一个最初加载小部件列表的应用程序 query Widgets widgets Widgets fragment Widgets on Widgets name description rootWidget widgets Widget
  • 由于“权限被拒绝”,docker compose down 失败

    跑步时docker compose stop它无法停止 docker 镜像 并给出如下错误 ERROR for nginx cannot stop container 5f5ed6d2110a0d845508ede160d8196d3e01
  • Scrapy + Splash:无法选择元素

    我正在学习使用 scrapy 和splash 作为练习 我正在尝试访问https www ubereats com stores https www ubereats com stores 单击地址文本框 输入位置 然后按 Enter 按钮
  • 运行“npmauditfix--force”会降级反应脚本

    我的 React 项目有一个很大的问题 我正在尝试更新项目中的库 但出现了问题 错误的 这是package json 请注意 react scripts版本设置为 4 0 3 name server version 1 1 0 descri
  • 未能找到构建工具修订版 21.1.1 - sdk 是最新的

    我正在运行 linux android sdk 安装 我的新项目需要构建工具 21 1 1 不知何故 这个构建工具不存在 尽管我的sdk是最新的 但在build tools文件夹中现在有android 4 4W文件夹 android 更新
  • 如何让 CMake 使用系统路径上的默认编译器?

    目前 我从构建目录调用 CMake 如下所示 CXX opt gcc 4 8 bin g cmake 让 CMake 使用这个特定的编译器 否则它使用操作系统默认编译器 我的路径有 opt gcc 4 8 bin那么 有没有办法在 CMak
  • Orchard CMS 中的 Work<> 类有什么用?

    简单明了 它的用例是什么Orchard Environment Work lt gt 类定义于Orchard Environment WorkContextModule cs 它可以在几个地方找到 例如 private readonly W