我有一个.NET 7 REST API,它具有单例类初始化。它在单个示例中工作正常,在多个示例中失败。下面是我的单例初始化。
Engine _engine = new Engine(loggerFactory); builder.Services.AddSingleton<Engine>(_engine);
此功能主要是将文件夹删除/加载到wwwroot目录。有没有人能给予我一个关于使用单例类的多个示例的解决方案?
w7t8yxp51#
有没有人能给予我一个关于如何使用单例类的多个示例的解决方案。确保每次只运行Azure Function应用程序的单个示例是SingletonAttribute类的责任。这个类还有其他功能,可以限制当时运行的示例数,这会影响可伸缩性和性能。该特性是FunctionInvocation属性的Mode属性,语法为:Mode = Function / Listener
SingletonAttribute
FunctionInvocation
Mode
Mode = Function / Listener
[Singleton(Mode = SingletonMode.Listener)] [FunctionName("ListenerTest")]
如果mode属性是Listener,那么它执行单示例执行,Function模式可以给予您运行多个示例和同时执行,但确保一次只有一个示例处理给定的函数调用。有关使用SingletonAttribute-FunctionInvocation-Mode运行多个示例的详细信息,请参阅作者@yu_ka1984的此MS Doc和介质article。
Listener
Function
svmlkihl2#
通过删除计算机名称下的文件修复了此问题
2条答案
按热度按时间w7t8yxp51#
有没有人能给予我一个关于如何使用单例类的多个示例的解决方案。
确保每次只运行Azure Function应用程序的单个示例是
SingletonAttribute
类的责任。这个类还有其他功能,可以限制当时运行的示例数,这会影响可伸缩性和性能。
该特性是
FunctionInvocation
属性的Mode
属性,语法为:Mode = Function / Listener
如果mode属性是
Listener
,那么它执行单示例执行,Function
模式可以给予您运行多个示例和同时执行,但确保一次只有一个示例处理给定的函数调用。有关使用
SingletonAttribute
-FunctionInvocation
-Mode
运行多个示例的详细信息,请参阅作者@yu_ka1984的此MS Doc和介质article。svmlkihl2#
通过删除计算机名称下的文件修复了此问题