。
protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners(){
return new ServiceReplicaListener[]{
new ServiceReplicaListener(serviceContext =>
new KestrelCommunicationListener(serviceContext, "ServiceEndpoint", (url, listener) => {
EventTracer.Current.LogSystemMessage(serviceContext, $"Starting http kestrel listner on {url}");
return new WebHostBuilder()
.UseKestrel()
.ConfigureServices(
services => services
.AddSingleton<StatefulServiceContext>(serviceContext)
.AddSingleton<IReliableStateManager>(this.StateManager))
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup<Startup>()
.UseServiceFabricIntegration(listener, ServiceFabricIntegrationOptions.None)
.UseUrls(url)
.Build();
}),"WebService",listenOnSecondary:true)
};
}
您的觀點是有效的。一項服務將承擔多重責任,我想我也需要考慮。謝謝。 – vmn