Hi, The service is not started. It says stopped and is in errored state. It says "Cannot start because the dependency is not satisfied".
Thanks, -Mike On Fri, Jun 15, 2012 at 2:03 PM, Craig Neuwirt <[email protected]> wrote: > I'm probably confused, but what happens when you register > IDependency/Dependency in the container? Do you get an error? > > -craig > > > On Jun 15, 2012, at 2:16 AM, Mijo Thomas wrote: > > Hi, > > I'm trying to host my WCF service in a windows service host. For managing > dependencies I'm using Castle WCF facility. > > This is how my ContainerConfiguration(BootStrapper) looks like: > > public class ConfigureContainer : IConfigureContainer > { > private const string ServiceOne= "ServiceOne"; > private const string ServiceTwo = "ServiceTwo"; > private const string ServiceThree = "ServiceThree"; > private const string CurrentAssembly = "MyAssembly"; > > private readonly IWindsorContainer container; > > public ConfigureContainer(IWindsorContainer container) > { > this.container = container; > } > > > public IWindsorContainer WindsorContainer { get { return > container; } } > > > public void AndRegisterComponents() > { > container.Register(AllTypes.FromAssemblyNamed(CurrentAssembly) > .Pick().If(type => type.GetInterfaces().Any(i => > i.IsDefined(typeof(ServiceContractAttribute), true))) > .Configure(configurer => configurer > > .Named(configurer.Implementation.Name) > .AsWcfService( > new > DefaultServiceModel() > .AddEndpoints( > > WcfEndpoint.FromConfiguration(ServiceOne), > > WcfEndpoint.FromConfiguration(ServiceTwo), > > WcfEndpoint.FromConfiguration(ServiceThree)) > > .PublishMetadata())) > .WithService.Select((type, baseTypes) => > type.GetInterfaces() > .Where(i => > i.IsDefined(typeof(ServiceContractAttribute), true)))); > > } > } > > This is how I do my hosting inside the service host: > > partial class DataServicesHost : ServiceBase { private IWindsorContainer > windsorContainer; public DataServicesHost() { InitializeComponent(); } > > protected override void OnStart(string[] args) > { > var configure = new ConfigureContainer(); > windsorContainer = configure.WindsorContainer; > } > > protected override void OnStop() > { > if(windsorContainer != null) > { > windsorContainer.Dispose(); > windsorContainer = null; > } > } > } > > My ServiceOne is implemented as follows: > > [ServiceContract] > internal interface IServiceOne > { > [OperationContract] > void DoSomething(); > } > > public class ServiceOne : IServiceOne > { > private readonly IDependency dependency; > > public ServiceOne(IDependency dependency) > { > this.dependency = dependency; > } > > public void DoSomething() > { > dependency.GetSomething(); > //do something > } > } > > public interface IDependency > { > void GetSomething(); > } > > public class Dependency : IDependency > { > public void GetSomething() > { > //GetSomeThing > } > } > > Now my question is: how do I pass the IDependency to the container? How > will I configure it so that while hosting it, it does't complain about not > letting the host know of the dependency and keeps looking and failing over > the default constructor implementation? > > Thanks, -Mike > > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Users" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/castle-project-users/-/oNA0FXNBI-sJ. > To post to this group, send email to [email protected] > . > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/castle-project-users?hl=en. > > > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Users" group. > To post to this group, send email to [email protected] > . > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/castle-project-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en.
