问题标签 [service-factory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
232 浏览

azure - 如何在 Azure Service Fabric 上动态启动多个长时间运行的服务实例

我对 Azure Service Fabric 非常陌生。

我的场景是我有一个长时间运行的服务,我需要动态启动/停止多个实例,并且启动应该是非阻塞的。每个实例将独立处理 1 个数据条目。例如:

假设我有一个气象服务,它不断提取每个城市的气象数据,并且长期运行。我有一个可以改变的城市列表。所以,我想做以下事情:

我研究了 Actor 模型,但似乎 Actor 不适合长时间运行的任务,而且很难启动/停止它们。知道我应该使用什么服务/编程模型吗?

0 投票
1 回答
59 浏览

c# - 处理两个不同的应用程序流

我们正在构建一个应用程序,我们必须同时拥有旧版本和新版本(V1 是旧版本,V2 是新版本)。现在为了处理新流,我们使用相同的旧接口,一切都相同,只是功能不同,因此现在我们必须定义一个命名实例以解析新流的实例。

在这个过程中,团队已经开始使用服务工厂模式,如下所示

服务工厂类

由于服务工厂是反模式的,并且它在将来淘汰旧流程时会产生很多复杂性,我想要一种方法来初始化容器(结构映射 ioc)本身的依赖关系或以“纯 DI”方式工作,所以我们可以避免头痛。关于如何解决这个问题的任何想法。

更新:IDataManager 实现

IDataManager 有 2 个实现,解析实例应基于 _featureEvaluator,如果 V2 流,则应实例化“新流”,否则应实例化“旧流”实例

0 投票
1 回答
249 浏览

osgi - 如何在 OSGi 中编写工厂模式?

我有多个实现相同服务的 Impl 类。我需要在 osgi 中编写一个工厂类,我应该在其中编写 getter 方法以返回适当的 Impl 对象。下面是我试过的代码。我在工厂课上被打动了。有什么想法可以继续吗?

0 投票
2 回答
1615 浏览

angular - 传入的类型不是 ComponentType,它没有 'ɵcmp' 属性。路由未使用配置服务注入注入 AngularRouter

我正在使用应用初始化程序在启动之前尝试从数据库中填充路由。它应该非常简单,但我收到了上面的错误,我不知道为什么。传入的类型不是 ComponentType,它没有 'ɵcmp' 属性。它似乎绘制了路线,控制台日志实际上有回复。只是当我单击链接或尝试直接路由到我的动态路由之一时它会失败。在我的应用程序模块上,我还设置了入口组件,并尝试在此处设置它们以取得良好的效果,但无济于事。

模板配置服务

应用路由模块

路由器接口 `

`

和我的模拟 json 数据库 `

`

0 投票
0 回答
43 浏览

unit-testing - Unit Test: Getting Exception No service for type 'Microsoft.Extensions.DependencyInjection.IServiceScopeFactory' has been registered

The application runs fine. But when I try to run unit test it throws "No service for type 'Microsoft.Extensions.DependencyInjection.IServiceScopeFactory' has been registered."

How do I register IServiceScopeFactory and where I have to register it as application is working fine only unit test is failing.

Unit test code:

PhotoSubscriber file code

The following is the code from Program.cs