/// <summary> /// Adds remote listener to stateless service /// </summary> public static ServiceFabricHostBuilder <OmexStatelessService, StatelessServiceContext> AddRemotingListener <TService>( this ServiceFabricHostBuilder <OmexStatelessService, StatelessServiceContext> builder, string name, FabricTransportRemotingListenerSettings?settings = null) where TService : class, IService => builder .ConfigureServices((_, services) => services.TryAddTransient <TService>()) .AddRemotingListener(name, (provider, _) => provider.GetRequiredService <TService>(), settings);
public void AddRemotingListener_ToStatelessServiceUsingIServiceTypeThatHasRegisteredDependencies_BuildDoesNotThrow() { string expectedName = nameof(AddRemotingListener_ToStatelessServiceUsingIServiceType_RegisterType); FabricTransportRemotingListenerSettings settings = new FabricTransportRemotingListenerSettings(); HostBuilder builder = new HostBuilder(); ServiceFabricHostBuilder <OmexStatelessService, StatelessServiceContext> sfBuilder = MockServiceFabricHostBuilder.CreateMockBuilder <OmexStatelessService, StatelessServiceContext>(builder); sfBuilder.ConfigureServices((_, services) => services.AddTransient <IMockServiceDependency, MockServiceDependency>()); sfBuilder.AddRemotingListener <MockServiceWithDependencies>(expectedName, settings); IListenerBuilder <OmexStatelessService> value = builder.Build().Services.GetRequiredService <IListenerBuilder <OmexStatelessService> >(); ICommunicationListener service = value.Build(MockServiceFabricServices.MockOmexStatelessService); Assert.IsNotNull(service); Assert.AreEqual(expectedName, value.Name); Assert.AreEqual(settings, GetSettings(value)); }