我们希望在我们的不止一种产品中实现可重用的功能。
我想做的是:
- 创建一个包含一个或多个 Azure Functions(附加了 FunctionNameAttribute 的静态方法)的 C# 项目
- 将此项目转为NuGet包
- 在 Azure Functions 项目中引用此 NuGet 包
- 将 NuGet 包中的函数暴露在正在使用的项目中
虽然我发现它全部编译,但 NuGet 包中的函数在启动时没有“找到”并且被忽略。我可以看到,出于安全原因,这可能是可取的,但我想知道是否有一种方法可以覆盖函数运行时的运行方式,以表示“扫描此程序集并使用其中包含的任何函数”。
即使拥有自定义代码也比我们所处的情况更好 - 在我们的包中具有由两个不同产品引用的联合功能,但每个产品都必须创建一组重复的函数,然后调用通用代码。
我认为最好的方法是通过git 子模块 https://git-scm.com/book/en/v2/Git-Tools-Submodules而不是 Nuget 包。
创建两个产品都将引用的项目。一个基类,其中包含一些方法,您可以通过从基类继承这些方法来重写或在两个解决方案中重用这些方法。
根据您的评论,让我们尝试一下此工作流程:
1 - 使用 Swagger 编写一个 AZF 项目,用于所有 Product 常见操作。
2 - 编写一个新项目以拥有将使用所有产品 REST 端点的 ProductBase 类。
3 - 将 Consume 项目转换为 Nuget 包。
4 - 将其安装在项目 A 和 B 中,并继承 Base 产品类
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)