我可以在 C# 中创建非静态 Azure 函数类,会有什么后果?

2023-12-26

Azure 函数中的构造函数注入和自定义遥测事件的集合需要此非静态类。

如果我们在 Visual Studio 中创建一个 Azure 函数应用程序,它会使用 static 关键字创建默认值,如下所示:

public static async Task<IActionResult> Run(
                [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
                ILogger log)
{
     telemetryClient.TrackEvent(new Exception("Function started"));
}

但是要使用构造函数依赖注入(对于 Temeltry 客户端,我正在使用它),我们需要删除 static 关键字。

public Function1(TelemetryClient telemetryClient)
        {
            _telemetryClient = telemetryClient;
        }

以前,Azure Functions 仅支持静态类/方法。此限制使得无法通过构造函数进行 DI。然而后来实现了对非静态类/方法的支持(参见支持实例功能 https://github.com/Azure/azure-functions-host/issues/911).

因此,如果您需要通过构造函数使用 DI,只需将其更改为非静态即可。没有任何后果。

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

我可以在 C# 中创建非静态 Azure 函数类,会有什么后果? 的相关文章

随机推荐

  • 获取长路径名上的文件夹 NTFS ACL

    我有一个 PS 脚本 如果分配了单个用户 它将返回 NTFS ACL 该脚本运行良好 直到我遇到超过 260 个字符的路径 我发现了很多关于路径太长问题的信息和一些解决方法 但我正在努力将解决方案集成到我的脚本中 有什么建议么 Thanks
  • 在 XAML 自动生成的文件中强制执行全局命名空间

    我的问题与其他问题不同在 XAML 中强制执行全局命名空间 https stackoverflow com questions 30607193 enforce global namespace in xaml因为我没有与封闭名称空间同名的
  • 如何在控制台应用程序中绘制矩形?

    我需要在 C 控制台应用程序中并使用扩展 ASCII 绘制一个矩形 内部有一个数字 我该怎么办 这是一个演示 public class ConsoleRectangle private int hWidth private int hHei
  • 在应用程序终止时,WCF 中 IsOneWay=true 的方法会发生什么情况

    我有一个客户端应用程序 它偶尔会通知其服务进度 对服务的方法调用标记为 IsOneWay true 因为通知不需要任何返回值 而且我不想延迟 客户端可能会向服务发出错误通知 然后终止 问题是 单向方法调用在发送消息后是否返回调用者代码 或者
  • 文件的安全流更新

    我们通过将新记录写入临时文件 然后用临时文件替换旧文件来执行大型文本文件的更新 一个严重缩写的版本 var tpath Path GetTempFileName try using var sf new StreamReader sourc
  • Flask应用程序目录和权限的设置?

    我在 ubuntu 服务器上构建了一个简单的 Flask 应用程序 并将代码放在以下目录中 主应用程序代码 home user flask app WSGI 配置 www flask app app wsgi 我的问题是 在生产中 将应用程
  • 从强名称文件中提取私钥?

    正如标题所述 有谁知道如何从 snk 文件中提取私钥 我们希望使用 StrongName 的私钥来进行加密 我读到 http msdn microsoft com en us library k5b5tt23 VS 80 aspx http
  • 如何正确删除C++中链表的节点

    我感觉好像我实际上并没有删除节点并释放内存 我想我只是移动指针 所以当我打印链接列表时 列表不会打印我删除的元素 所以我的问题是我实际上是删除节点还是只是简单地重新排列指针 这样看起来我正在删除节点 本质上只是破坏链接但不删除节点 感谢您的
  • 如何在Spring Security上针对不同的请求路径使用不同的过滤器?

    我有两个过滤器 我想对 relatorios 应用一个 对其余的应用另一个 怎么做 这是我的 不起作用 版本 Override protected void configure HttpSecurity httpSecurity throw
  • 如何在没有互联网连接的情况下通过本地网络进行 WebRTC?

    我想让两台不同的计算机打开一个静态 html 页面 并且能够通过局域网上的 WebRTC 相互通信 在这种情况下 没有与外界的互联网连接 其中一台电脑可以手动输入另一台电脑的 IP 地址 并使用该硬编码的 IP 进行连接 ICE服务器有必要
  • 使用 Quartz.NET 和简单注入器进行构造函数注入

    目前我正在使用 Quartz NET 编写一个服务来安排它的运行 我想知道是否有人有使用 Quartz NET 和简单注入器进行构造函数注入的经验 以下基本上是我希望实现的目标 public class JobImplementation
  • 定义海报属性和预加载时视频消失

    我有一个具有以下属性的视频标签
  • Play Framework 2.5如何添加mongoDB?

    我想在我的 Play Framework 2 5 应用程序中添加 MongoDB 我们可以看到这个模块here https www playframework com modules mongo 1 1 home aEnabletheMon
  • HTML 中具有多层 SVG 的交互式地图

    我正在开发一个门户网站 其中包含多层地图 例如城市 河流 各种地理区域的名称等 但对于如何进行门户网站的开发 我遇到了一个困境 我将尝试简单地解释一下这个问题 地图的基本信息 地图必须是交互式的 缩放功能 弹出框 通过单击或悬停鼠标来更改元
  • 按功能打包的方法好吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 最近我发现了这个 javalobby 帖子http java dzone com articles how chang java package
  • 来自 .csv,只读或分成由“”分隔的部分

    我有一个 csv 文件 该文件分为多个部分 每个部分都以 开头 各占一行 如本例所示 接下来是一组列及其各自的值行 各部分之间的列不一致 lt section1 gt br col1 col2 col3 br val1 val2 val3
  • Linq - 按 StartsWith 排序然后包含

    假设我有 3 个客户姓名 Microsoft Another customer also called Microsoft A third customer called Microsoft 现在 如果我像这样查询客户 var q from
  • 尽快通过 Visual Studio 查找搁置集

    我每天需要使用 Visual Studio 查看许多架子集 我已经添加了TfsPendingChanges命令到我的工具栏 但访问搁置集的其余过程 操作 查找搁置集 仍然感觉很笨拙 事实上 搁置集审查与我自己的待定更改无关 VS11 只是让
  • C++如何处理&&? (短路评估)[重复]

    这个问题在这里已经有答案了 当遇到 bool1 bool2 时 c 是否会尝试检查 bool2 是否发现 bool1 为 false 还是会像 PHP 那样忽略它 抱歉 如果这个问题太基础了 但我确实在 Schildt 和互联网上都找不到提
  • 我可以在 C# 中创建非静态 Azure 函数类,会有什么后果?

    Azure 函数中的构造函数注入和自定义遥测事件的集合需要此非静态类 如果我们在 Visual Studio 中创建一个 Azure 函数应用程序 它会使用 static 关键字创建默认值 如下所示 public static async