Krzysztof, I'm probably doing something wrong, because I am not yet familiar with Castle.
What I want to do, first of all, is to disable Property auto-wiring. I'm doing it with a custom activator using what Roelof Blom proposed in the last post of this thread: http://groups.google.com/group/castle-project-users/browse_thread/thread/ca840efccd73476d/a97f3379b9649bcc?lnk=gst&q=auto+wiring#a97f3379b9649bcc The other thing I'm trying to do, is to wire a non-default IMyService implementation into the property MyService of ProductController, as far as I know, to accomplish this I have to use ServiceOverrides (maybe this is where I'm doing something wrong) thanks Jorge On 14 abr, 03:01, Krzysztof Koźmic <[email protected]> wrote: > Jorge, > > I've got a feeling we're not on the same page here. > If all you want is to be explicit you want a non-default IMyService > injected into your ProductController than just doing serviceoverride > with default activator should do it. > > Why are you using custom activator again? > > Krzysztof > > On 2010-04-13 16:50, jorge.rowies wrote: > > > First of all, I feel that I have to make clear one point, I am a > > completely newbie at Castle, so please forgive me for all the mistakes > > I could make in the following sentences (and for my english) :P > > > I am currently working on a migration of a bunch of configurations > > made in spring.net (xml) to Castle using Fluent API, and the code that > > I am wiring is "almost" legacy code, so I have to lower to a minimum > > the amount of changes to the existing code in this process of > > migrating from spring.net to castle. > > > @John > > About using DoNotWire attribute, I can't go that way for two reasons, > > first, because of the legacy code issue I mentioned before and, > > second, because that will "tie" my code to Castle. > > > @Krzysztof > > I'm not sure if I understand, I have properties that I want to wire by > > using ServiceOverride, like this: > > > container.Register( > > Component.For<IMyService>() > > .ImplementedBy<MyServiceImpl>() > > .Named("myservice.default"), > > Component.For<IMyService>() > > .ImplementedBy<OtherServiceImpl>() > > .Named("myservice.alternative"), > > > Component.For<ProductController>() > > .ServiceOverrides(ServiceOverride.ForProp(p => > > p.MyService).Eq("myservice.alternative")) //<-- here I am using this > > extensionshttp://using.castleproject.org/display/IoC/Strongly+Typed+property+wi... > > ); > > > public class ProductController > > { > > public IMyService MyService {get;set;} > > public ProductController() > > { > > } > > } > > > But I don't want MyService property to be auto-wired. > > > If I remove the setter of MyService property, this could be achieved? > > > Thanks a lot John and Krzysztof > > Jorge > > > On 12 abr, 19:08, Krzysztof Koźmic<[email protected]> wrote: > > >> why do you have the properties settable if you don't want to set them? > > >> 2010/4/12 jorge.rowies<[email protected]>: > > >>> Hello, Roelof Blom said in the last post of this thread: > > >>>http://groups.google.com/group/castle-project-users/browse_thread/thr... > > >>> That one way of disabling property auto-wiring could be achieved with > >>> something like this: > > >>> container.Register(Component > >>> .For(impl) .LifeStyle.Transient) > >>> .Activator<MyModelActivator>() > > >>> class MyModelActivator: DefaultComponentActivator > >>> { > >>> protected override void SetUpProperties(object instance, > >>> CreationContext > >>> context) > >>> { > >>> // Do not auto-wire > >>> } > > >>> } > > >>> Which worked great for me, but now I am having problems using > >>> ServiceOverrides to set dependencies on a property, and I think it is > >>> because of this custom activator. > > >>> Is there any way to prevent property auto wiring and still be able to > >>> use ServiceOverrides? > > >>> Thanks a lot > > >>> -- > >>> 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 > >>> athttp://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.
