【发布时间】:2023-09-29 07:44:02
【问题描述】:
我想在 .net 核心有状态服务中使用远程处理。我有一个需要作为单例添加的自定义类。这可能吗?
首先我尝试在 Startup.cs 的 ConfigureServices() 方法中注册自定义类,但后来我意识到这个方法永远不会被调用,因为我使用 return this.CreateServiceRemotingReplicaListeners(); 在 CreateServiceReplicaListeners() 方法中生成我的副本侦听器,并删除了Kestrel 配置(这将使该方法被调用)。
有没有办法让 Startup.cs 的 ConfigureServices() 方法被调用,或者在保持远程配置的同时将单例服务添加到另一个地方?
MyStefulService.cs 类中的 CreateServiceReplicaListeners() 方法如下所示:
protected override IEnumerable<ServiceReplicaListener>
CreateServiceReplicaListeners()
{
return this.CreateServiceRemotingReplicaListeners();
}
Startup.cs 中的 ConfigureServices 方法如下所示:
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IMyHandler>(x => new MyHandler());
}
【问题讨论】:
标签: c# remoting service-fabric-stateful