- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
ICollector<T>
和有什么区别和 IAsyncCollector<T>
在 Azure Functions 中编写 C# 函数(也适用于 WebJobs)?
我从示例中了解到,这些接口(interface)是我可以用来将函数参数绑定(bind)到输出绑定(bind)的接口(interface)。我也了解这两个接口(interface)相应地具有非异步和异步方法签名(即 ICollector<T>.Add(item)
和 IAsyncCollector<T>.AddAsync(item)
)。但他们在幕后做了什么?他们是否真的将数据发布到输出绑定(bind),还是在函数执行结束时在内部缓冲和刷新(在这种情况下,为什么要使用 AddAsync
方法)?
最佳答案
ICollector<T>.Add(item)
将始终对基础服务执行添加操作 立即 .例如。队列绑定(bind)的实现将在添加消息时立即将它们排入队列。IAsyncCollector<T>.AddAsync(item)
行为因绑定(bind)而异,取决于底层服务是否支持 配料 .在这种情况下,AddAsync
可能只会将添加的项目实际保存为 稍后刷新通过相应的IAsyncCollector<T>.FlushAsync
方法。当函数成功完成时FlushAsync
会自动调用。您可以允许自动刷新行为为您刷新,或者您可以选择调用 FlushAsync
根据需要手动在您的功能中。
批处理可以允许绑定(bind)以最有效的方式与底层服务交互。例如。对于 Azure 表,可以在单个批处理操作中更新/保留多个实体。
关于azure-webjobs - Azure 函数 : ICollector<T> vs IAsyncCollector<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40732715/
我已经为我的测试类重载了 Azure ICollector 接口(interface)。 但是,当创建收集器并添加数据时,初始化的两个收集器将被视为单个收集器。 下面是我的收集器类代码。 using
我已经为我的测试类重载了 Azure ICollector 接口(interface)。 但是,当创建收集器并添加数据时,初始化的两个收集器将被视为单个收集器。 下面是我的收集器类代码。 using
我有一个 Azure WebJob,它循环遍历文件页面并处理它们。该作业还有一个 ICollector 到输出队列: [Queue("batch-pages-to-process")] ICollec
我有以下 C# 函数代码: [FunctionName("UpdateCohortsByTenantFunction")] [return: Queue("my-queue", Connection
ICollector 和有什么区别和 IAsyncCollector在 Azure Functions 中编写 C# 函数(也适用于 WebJobs)? 我从示例中了解到,这些接口(interface
我是一名优秀的程序员,十分优秀!