【发布时间】:2019-06-19 18:11:51
【问题描述】:
我正在尝试通过在有状态服务上使用以下配置使无状态 ASP.NET Core 服务与有状态 ASP.NET Core 服务通信:
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
return new ServiceReplicaListener[]
{
new ServiceReplicaListener(serviceContext =>
new KestrelCommunicationListener(serviceContext, (url, listener) =>
{
ServiceEventSource.Current.ServiceMessage(serviceContext, $"Starting Kestrel on {url}");
return new WebHostBuilder()
.UseKestrel()
.ConfigureServices(
services => services
.AddSingleton<StatefulServiceContext>(serviceContext)
.AddSingleton<IReliableStateManager>(this.StateManager))
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup<Startup>()
.UseServiceFabricIntegration(listener, ServiceFabricIntegrationOptions.UseUniqueServiceUrl)
.UseUrls(url)
.Build();
}))
};
}
我知道如何通过使用以下 URL http://localhost:19081/App/Service/api/events?PartitionKey=0&PartitionKind=Int64Range 来使用反向代理,但我对如何在没有反向代理的情况下使用它感到困惑。如果我尝试使用fabric:/App/Service 如何指定分区?此外,我似乎无法对 HttpClient 类执行此操作,因为它只接受 HTTP 或 HTTPS。
【问题讨论】:
标签: c# asp.net-core azure-service-fabric service-fabric-stateful