【发布时间】:2019-03-11 07:37:22
【问题描述】:
我们希望在我们的多个产品中实现可重复使用的功能。
我想做的是:
- 创建一个 C# 项目,其中包含一个或多个 Azure Functions(附加了 FunctionNameAttribute 的静态方法)
- 将此项目转换为 NuGet 包
- 在 Azure Functions 项目中引用此 NuGet 包
- 将 NuGet 包中的函数暴露在正在使用它的项目中
虽然我发现它全部编译,但 NuGet 包中的函数在启动时没有“找到”并且被忽略。我可以看到出于安全原因这可能是可取的,但我想知道是否有一种方法可以覆盖函数运行时的运行方式,以说“扫描此程序集并使用其中包含的任何函数”。
即使拥有该自定义代码也比我们发现自己的情况更可取 - 在我们的包中具有由两个不同产品引用的联合功能,但每个产品都必须创建一组重复的函数,然后调用通用代码。
【问题讨论】:
-
为什么要将 AZF 转换为 nuget 包?我认为您应该通过正常的请求调用从其他项目中使用 AZF。
-
用例有点难以解释 - 但基本上,虽然 AZF 中的代码将是相同的,无论它们所服务的产品是什么,但它们下面的代码会因产品而异.所以 ProductA 需要调用 ProductA-AZF,它具有标准的函数签名,但在“幕后”执行 ProductA 特定的事情。然后 ProductB 将拥有一个需要调用的不同的已部署函数应用 ProductB-AZF。
-
你终于找到答案了吗?
-
我从来没有,没有。我只需要存根函数并将其调用到库中。
标签: c# azure nuget azure-functions