IHostedService 可在 Azure Functions 应用程序中使用吗?

2023-12-28

不管我们是否should,我们可以使用IHostedService在 Azure Functions 应用程序中?

这是尝试将托管服务(特别是后台服务)注册为IHostedService:

internal sealed class Startup : FunctionsStartup
{
    public override void Configure(IFunctionsHostBuilder builder)
    {
        builder.Services.AddHostedService<ExampleBackgroundService>();
    }
}

然后,Functions App 会抛出以下异常:

Microsoft.Azure.WebJobs.Script.InvalidHostServicesException: 'The following service registrations did not match the expected services:
  [Invalid] ServiceType: Microsoft.Extensions.Hosting.IHostedService, Lifetime: Singleton, ImplementationType: ExampleBackgroundService'

不,目前这是不可能的。对此有一些讨论GitHub问题 https://github.com/Azure/azure-functions-host/issues/5447#issuecomment-575368316:

这对于动态扩展基础设施来说效果不佳。缩放控制器不知道在函数执行上下文之外运行的任何逻辑,并且如果它认为应用程序空闲,则可以缩小规模。客户不会有可靠的机制来保持其运行,除非他们人为触发函数执行,这肯定会产生混乱和支持案例。

运行时和函数基础设施未设置为在函数上下文之外进行计算。允许注册自定义托管服务将公开启用此功能的功能,该功能无法与其他基础设施组件很好地配合(包括可能严重影响客户应用程序的欺诈检测)

该线程的其余部分有更多详细信息,值得查看以获取更多信息。

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

IHostedService 可在 Azure Functions 应用程序中使用吗? 的相关文章

随机推荐

  • 在docker容器中创建D盘

    是否可以在 docker Windows 容器中创建一个驱动器号不是 C 的新分区 我需要一个 D 和一个 E 驱动器来存放某些软件 我不认为你可以从现有的图像中做到这一点 但如果你制作一个像这样的 Dockerfile FROM dotn
  • 如何使用选择菜单和 link_to 重定向到另一个页面 - Ruby on Rails

    我想使用选择菜单重定向到另一个页面 但是当我选择 主页 时 它不会将我重定向到主页 什么都没发生
  • 有没有办法读取 clojure 文件中的所有表单?

    If I use gt
  • ListAdapter修改数据源(这是一个arraylist)

    这是我最近遇到的一个问题 我有一个带有自定义适配器类的列表视图 适配器接受列表视图并用其中的元素填充列表视图 现在 我想在列表视图的每一行上有一个按钮来从中删除项目 我应该如何解决这个问题 有没有办法远程触发活动类中的方法并调用适配器上的n
  • 使用 AppleScript 拆分全屏应用程序

    我一直在使用这个脚本 https gist github com dsummersl 4175461在 Automator 中 它可以在全屏和窗口模式之间切换应用程序 我经常使用分屏应用程序 El Capitan 中引入 那么有什么方法可以
  • 通过添加哈希来防止查询字符串操作?

    为了保护 Web 应用程序免受查询字符串操作的影响 我正在考虑向每个 url 添加一个查询字符串参数 该参数存储所有其他查询字符串参数和值的 SHA1 哈希值 然后根据每个请求的哈希值进行验证 此方法是否提供强大的保护以防止用户操纵查询字符
  • 低通滤波器编程

    我已经用 Java 编写了一个 Sega Master System 模拟器 尽管这个问题不是 Java 特有的 并且已经完成了除 SN76489 声音芯片之外的所有内容 该芯片如何发出声音很简单 我遇到的问题是将其转换为可通过 PC 笔记
  • 使用门户更改 Azure 应用程序设置,无需重新启动

    我有时会这样 在 Azure 门户中 我转到 应用程序服务 然后单击我的 Web 应用程序 然后转到 应用程序设置 在这里 我更改了 应用程序设置 列表中的一个值 例如 我将 128 更改为 129 最后我点击 保存 这会导致我的网络应用程
  • 姜戈·格拉佩利错误

    我对姜戈 格拉佩利有意见 它似乎加载 CSS 得很好 但样式似乎 关闭 也许一些图片可以澄清我的意思 我刚刚遇到了这个 你需要确保 grappelli 出现在之前 django contrib admin in INSTALLED APPS
  • KnockoutJS - 更新视图模型/映射插件

    如何更新完整的 viewModel 在页面加载时 我得到一个模型并使用转换它ko mapping fromJS myObject 到一个视图模型 如果用户单击按钮我想从服务器获取更新的数据 现在我想应用这些更新 如果我使用ko applyB
  • 使用 EnvDTE.ExecuteCommand 以编程方式开始调试特定项目

    我有一个包含多个启动项目的解决方案 我试图每晚自动重新启动其中一个项目 同时将新进程附加到同一个调试器 我能够重新启动该过程 使用Process Start 并将当前调试器附加到其上 但到目前为止它的可靠性还不是很高 并且根据设计 单击 停
  • 是否可以禁用自动完成功能?

    我知道我不应该这样做 但向客户解释您应该通过浏览器进行操作可能会更容易 他们有一台公共计算机和一台以管理员帐户 我正在编写的代码 在计算机上运行的服务器 他们希望人们输入他们的信息 但他们不希望有人按下电子邮件输入框来显示人们的电子邮件地址
  • Chrome 打包应用程序中的 Google Drive Realtime API

    有谁知道如何使用Google 云端硬盘实时 API https developers google com drive realtime application in a Chrome 打包应用程序 https developer chro
  • 什么是 .episode 文件..?

    JAXB 中的 episode 文件是什么 它是由 JAXB 生成的 还是我们操纵的配置文件 以避免 JAXB 重新生成相同的类 Note 我是EclipseLink JAXB MOXy https wiki eclipse org Ecl
  • 如何确保在 Android N 及更高版本上设备重新启动时调用PeriodicWorkRequest

    我最近尝试使用WorkManager s PeriodicWorkRequest这是在后台定期获取用户位置更新的可靠方法 该库满足了我的要求 这个特殊的细节引起了我的注意 即使应用程序或设备重新启动 也能保证任务执行 实现并测试它后 我尝试
  • 在用户窗体中使用类模块变量(需要错误“424”对象)

    我有一个类模块 其中托管有一个 worksheet change 子项 并且在该子项中必须弹出一个用户表单 我想在用户窗体的代码中使用类模块中的许多变量 然而 无论我做什么 我都无法让它发挥作用 我尝试应用该方法这个非常长的指南 https
  • 无法加载非 Laravel Composer 包

    这是我第一次尝试加载不使用 Laravel 服务提供者或外观的 Composer 包 我正在尝试安装这个包 https github com mollie mollie api php https github com mollie mol
  • [GTK]GTK中是否可以实现玻璃/模糊效果?

    我想知道是否有任何小部件可以获得类似 MacOS 的模糊透明背景 深度桌面环境可以模拟this https ibb co bsQRx5在 Qt 的上下文菜单中 Windows 正在慢慢采用这种风格 https www windowscent
  • 用C写入Linux sysfs节点

    我可以从 shell 激活系统上的 LED 如下所示 echo 1 gt sys class leds NAME COLOR LOCATION brightness 我想从 C 程序中执行完全相同的操作 但我无法找到有关如何完成此操作的简单
  • IHostedService 可在 Azure Functions 应用程序中使用吗?

    不管我们是否should 我们可以使用IHostedService在 Azure Functions 应用程序中 这是尝试将托管服务 特别是后台服务 注册为IHostedService internal sealed class Start