static void Main(string[] args) { ServiceHost svcHost = null; try { var container = new WindsorContainer(); container.AddFacility <WcfFacility>().Install(FromAssembly.Named("SystemManagament")); container.Register(Component.For <IWorkstationMonitorService>().ImplementedBy <WorkstationMonitorService>()); var assemblyQualifiedName = typeof(IWorkstationMonitorService).AssemblyQualifiedName; //var factory = new DefaultServiceHostFactory(container.Kernel); var serviceHost = new DefaultServiceHostFactory().CreateServiceHost(assemblyQualifiedName, new Uri[0]); //var serviceHost = new DefaultServiceHostFactory() // .CreateServiceHost(assemblyQualifiedName, new[] { new Uri("net.tcp://localhost:8000/") }); serviceHost.Open(); Console.WriteLine("\n\nService is running."); } catch (Exception ex) { Console.WriteLine($"Service can not be started \n\nError Message: [{ex.Message}]"); } finally { Console.WriteLine("\nPress any key to close the Service"); Console.ReadKey(); svcHost.Close(); svcHost = null; } }
private void CreateServiceHost <T>(ref ServiceHostBase host, string message) { host = new DefaultServiceHostFactory(container.Kernel) .CreateServiceHost(typeof(T).AssemblyQualifiedName, new Uri[0]); // Hook on to the service host faulted events. host.Faulted += new WeakEventHandler <EventArgs>(OnServiceFaulted).Handler; // Open the ServiceHostBase to create listeners and start listening for messages. host.Open(); logger.Info(string.Format("SachaBarber CQRS Demo {0} Started", message)); }
private ServiceHostBase CreateAndOpenWCFHost(string constructorString) { ServiceHostBase serviceHost = new DefaultServiceHostFactory().CreateServiceHost(constructorString, new Uri[0]); ServiceEndpoint serviceEndpoint = serviceHost.Description.Endpoints.SingleOrDefault(x => x.Binding is BasicHttpBinding); if (!serviceHost.Description.Behaviors.Any(x => x is ServiceMetadataBehavior) && serviceEndpoint != null) { string uriString = serviceEndpoint.Address.Uri.ToString().Replace("localhost", Environment.MachineName); var metadataBehavior = new ServiceMetadataBehavior { HttpGetEnabled = true, HttpGetUrl = new Uri(uriString) }; serviceHost.Description.Behaviors.Add(metadataBehavior); } serviceHost.Open(); return(serviceHost); }
private ServiceHostBase CreateAndOpenWCFHost(string constructorString) { ServiceHostBase serviceHost = new DefaultServiceHostFactory().CreateServiceHost(constructorString, new Uri[0]); ServiceEndpoint serviceEndpoint = serviceHost.Description.Endpoints.SingleOrDefault(x => x.Binding is BasicHttpBinding); if (!serviceHost.Description.Behaviors.Any(x => x is ServiceMetadataBehavior) && serviceEndpoint != null) { string uriString = serviceEndpoint.Address.Uri.ToString().Replace("localhost", Environment.MachineName); var metadataBehavior = new ServiceMetadataBehavior { HttpGetEnabled = true, HttpGetUrl = new Uri(uriString) }; serviceHost.Description.Behaviors.Add(metadataBehavior); } serviceHost.Open(); return serviceHost; }
private ServiceHostBase CreateAndOpenWCFHost(string constructorString) { ServiceHostBase serviceHost = new DefaultServiceHostFactory().CreateServiceHost(constructorString, new Uri[0]); serviceHost.Open(); return serviceHost; }