using the ProxyMixIns doesnt seem to work

here is the current Code

i am trying to implement the following:

    return new WindsorContainer()
                .AddFacility<WcfFacility>()
                .Register(
 
Component.For<IServiceBehavior>().Instance(metadata),
                    Component.For<IServiceBehavior>().Instance(debug),
                    //Component
                    //    .For<IBlogServiceAlternate>()
                    //    .ImplementedBy<AlternateBlogService>()
                    //    .LifeStyle.Transient,
                    Component
                        .For<IBlogService, IBlogServiceAlternate>()
                        .ImplementedBy<DefaultBlogService>()
                        .Named("blogService")
                        .LifeStyle.Transient
                        .ActAs(new DefaultServiceModel().Hosted()
                            .AddBaseAddresses("http://localhost:50388/
BlogService.svc")
                            
.AddEndpoints(WcfEndpoint.ForContract(typeof(IBlogService)).BoundTo(new
BasicHttpBinding()).At("/BlogService"),
 
WcfEndpoint.ForContract(typeof(IBlogServiceAlternate)).BoundTo(new
BasicHttpBinding()).At("/BlogServiceAlternate"))),

                    Component
                        .For<ILogger>()
                        .ImplementedBy<DefaultLogger>()
                        .LifeStyle.Transient
                );

this code works gr8, but i want that IBlogService will be Implemented
By DefaultBlogService
and IBlogServiceAlternate will be Implemented by BlogServiceAlternate

i tried playing around with :

Proxy.MixIns(m =>  m.Service<IBlogServiceAlternate>)
but the thing i cant get the Service WSDL to add the new Interface.

maybe someone tried using Interceptors for doing it?

On 29 אוגוסט, 17:35, barroei <[email protected]> wrote:
> well, i tried the Proxy mixins
> it did nothing, compile and runtime are OK, but the WSDL didnt contain
> the second interface
>
> On 29 אוגוסט, 17:00, barroei <[email protected]> wrote:
>
>
>
> > ok, i made it work by rebuilding the latest build.
>
> > now i will try the idea you gave. i will keep you updated on the
> > results.
>
> > thx for now mate
>
> > On Aug 29, 4:30 pm, Krzysztof Ko¼mic <[email protected]>
> > wrote:
>
> > >   I'm not sure if it's updated already, check the 
> > > version:http://builds.castleproject.org/viewLog.html?buildId=7085&buildTypeId...
>
> > > On 29/08/2010 11:27 PM, barroei wrote:
>
> > > > oh, ok, that is one i missed :-)
>
> > > > tell me is there a built on WCFIntegration.Dll that support 2.5
> > > > version
> > > > cause if i remove the MicroKernel Dll it says that :
>
> > > > The type 'Castle.MicroKernel.Facilities.AbstractFacility' is defined
> > > > in an assembly that is not referenced. You must add a reference to
> > > > assembly 'Castle.MicroKernel, Version=1.0.3.0, Culture=neutral,
> > > > PublicKeyToken=407dd0808d44fbdc'.
>
> > > > On Aug 29, 4:17 pm, Krzysztof Ko¼mic<[email protected]>
> > > > wrote:
> > > >>    Yes but it won't be dynamic. It has to implement interfaces it
> > > >> exposes, and a type can't gain an interface dynamically.
>
> > > >> On 29/08/2010 11:08 PM, barroei wrote:
>
> > > >>> i can have the implementaion class also as a container class
> > > >>> On Aug 29, 4:00 pm, Krzysztof Ko¼mic<[email protected]>
> > > >>> wrote:
> > > >>>>     I forgot to add you need version 2.5 to get that Mixin syntax.
> > > >>>> Yes you can have one implementation that forwards to other
> > > >>>> implementation but I thought you mentioned you wanted this to be 
> > > >>>> dynamic...
> > > >>>> On 29/08/2010 10:58 PM, barroei wrote:
> > > >>>>> i cant get the damn syntax for the MixIn,
> > > >>>>> i had in mind another idea, to have a single Implenetation Class, 
> > > >>>>> that
> > > >>>>> has dependencies to all
> > > >>>>> other Implementation classes.
> > > >>>>> that should be easier to implement wont you think?
> > > >>>>> On Aug 29, 3:48 pm, Krzysztof Ko¼mic<[email protected]>
> > > >>>>> wrote:
> > > >>>>>>      How else would you want to do it than via dynamic proxy? 
> > > >>>>>> Again -
> > > >>>>>> container aside.
> > > >>>>>> On 29/08/2010 10:47 PM, barroei wrote:
> > > >>>>>>> I didnt try the proxy option yet.
> > > >>>>>>> but will it work with more then 2 interfaces?
> > > >>>>>>> On Aug 29, 3:40 pm, Krzysztof Ko¼mic<[email protected]>
> > > >>>>>>> wrote:
> > > >>>>>>>>       Well what I think might work, is registering all the 
> > > >>>>>>>> pieces separately
> > > >>>>>>>> and then picking one of them as the host and mixing in all the 
> > > >>>>>>>> remaining
> > > >>>>>>>> ones.
> > > >>>>>>>>                  container.Register(
> > > >>>>>>>>                      
> > > >>>>>>>> Component.For<IFirst>().ImplementedBy<First>().Proxy.MixIns(m => 
> > > >>>>>>>>          m.Service<ISecond>()),
> > > >>>>>>>>                      
> > > >>>>>>>> Component.For<ISecond>().ImplementedBy<Second>());
> > > >>>>>>>> This is the idea, but I'm not sure how DynamicProxy will handle 
> > > >>>>>>>> all the
> > > >>>>>>>> WCF attributes.
> > > >>>>>>>> On 29/08/2010 10:34 PM, barroei wrote:
> > > >>>>>>>>> yep,
> > > >>>>>>>>> you got exactly the idea :-)
> > > >>>>>>>>> the thing is building it is abit complex since i cant get the 
> > > >>>>>>>>> howto
> > > >>>>>>>>> build the damn thing.
> > > >>>>>>>>> this is the first IOC that seems todo so, very close to what
> > > >>>>>>>>> Spring .NET does.
> > > >>>>>>>>> but still, there is something missing, and i cant get the damn 
> > > >>>>>>>>> thing
> > > >>>>>>>>> to work.
> > > >>>>>>>>> i have tried multiple overrides to try to use the current 
> > > >>>>>>>>> registration
> > > >>>>>>>>> model, but it just doesnt add up.
> > > >>>>>>>>> i can download the sources and try to fix it, but i think i am 
> > > >>>>>>>>> missing
> > > >>>>>>>>> something
> > > >>>>>>>>> and it can be done in the current registration model.
> > > >>>>>>>>> i just cant figure out the how...
> > > >>>>>>>>> On Aug 29, 3:04 pm, Krzysztof Ko¼mic<[email protected]>
> > > >>>>>>>>> wrote:
> > > >>>>>>>>>>        ah I think I vaguely begin to see what you're trying to 
> > > >>>>>>>>>> do
> > > >>>>>>>>>> so you want an umbrella object that would implement multiple 
> > > >>>>>>>>>> interfaces
> > > >>>>>>>>>> and contain multiple other obects that each implement one of 
> > > >>>>>>>>>> these
> > > >>>>>>>>>> interfaces and then route calls to each interface to its 
> > > >>>>>>>>>> respective
> > > >>>>>>>>>> implementation object and on top of that expose everything as 
> > > >>>>>>>>>> WCF service?
> > > >>>>>>>>>> On 29/08/2010 9:52 PM, barroei wrote:
> > > >>>>>>>>>>> do u have google talk ? or msn? it will be much easier...
> > > >>>>>>>>>>> the general idea is to make a dynamic multi endpoint WCF 
> > > >>>>>>>>>>> service over
> > > >>>>>>>>>>> IIS
> > > >>>>>>>>>>> meaning i want the service to be able to load Interface 
> > > >>>>>>>>>>> dynamicly as i
> > > >>>>>>>>>>> am doing if i set a single Interface.
> > > >>>>>>>>>>> but i would also like to make it so that the Interface and
> > > >>>>>>>>>>> Implementation are built by differant users
> > > >>>>>>>>>>> meaning that every user that will built an Interface will 
> > > >>>>>>>>>>> also build
> > > >>>>>>>>>>> his very own Implementation.
> > > >>>>>>>>>>> and via configuration i will have the service register them.
> > > >>>>>>>>>>> On Aug 29, 2:48 pm, Krzysztof 
> > > >>>>>>>>>>> Ko¼mic<[email protected]>
> > > >>>>>>>>>>> wrote:
> > > >>>>>>>>>>>>         Can we step back a little?
> > > >>>>>>>>>>>> What are you trying to do? Container aside.
> > > >>>>>>>>>>>> On 29/08/2010 9:41 PM, barroei wrote:
> > > >>>>>>>>>>>>> why doesnt it make sense?
> > > >>>>>>>>>>>>> i want to make the entire service generic.
> > > >>>>>>>>>>>>> add Interfaces dynamicaly and add the Implementation class 
> > > >>>>>>>>>>>>> that is
> > > >>>>>>>>>>>>> attached to it.
> > > >>>>>>>>>>>>> without touching the once that are already registered.
> > > >>>>>>>>>>>>> there must be an option to do it.
> > > >>>>>>>>>>>>> is there an option to tell the Implementation class to 
> > > >>>>>>>>>>>>> implement
> > > >>>>>>>>>>>>> another interface ?
> > > >>>>>>>>>>>>> and load the interface implementation as a dependency class?
> > > >>>>>>>>>>>>> On Aug 29, 2:19 pm, Krzysztof 
> > > >>>>>>>>>>>>> Ko¼mic<[email protected]>
> > > >>>>>>>>>>>>> wrote:
> > > >>>>>>>>>>>>>> This doesn't make any sense.
> > > >>>>>>>>>>>>>> sent from my HTC Desire
> > > >>>>>>>>>>>>>> On 29/08/2010 9:16 PM, "barroei"<[email protected]>  
> > > >>>>>>>>>>>>>>             wrote:
> > > >>>>>>>>>>>>>> i cant use different names.
> > > >>>>>>>>>>>>>> its the same service.
> > > >>>>>>>>>>>>>> i want it to have multiple interfaces.
> > > >>>>>>>>>>>>>> meaning multiple servicecontracts on the same service.
> > > >>>>>>>>>>>>>> i can easily do it if implement all interfaces by the same 
> > > >>>>>>>>>>>>>> class.
> > > >>>>>>>>>>>>>> but i want it to be generic and have an implementation 
> > > >>>>>>>>>>>>>> class per each
> > > >>>>>>>>>>>>>> interface
> > > >>>>>>>>>>>>>> On Aug 29, 10:05 am, Ayende Rahien<[email protected]>      
> > > >>>>>>>>>>>>>>         wrote:
> > > >>>>>>>>>>>>>>> You need different names
> > > >>>>>>>>>>>>>>> On Sun, Aug 29, 2010 at 9:49 AM, 
> > > >>>>>>>>>>>>>>> barroei<[email protected]>              wrote:
> > > >>>>>>>>>>>>>>>> hello.
> > > >>>>>>>>>>>>>>>> i am tr...
> > > >>>>>>>>>>>>>>>> [email protected]<castle-project-users%2bun­­­­­­­­­­[email protected]>
> > > >>>>>>>>>>>>>> <castle-project-users%2bun­[email protected]>
> > > >>>>>>>>>>>>>>>> .
> > > >>>>>>>>>>>>>>>> For more options, visit this group at
> > > >>>>>>>>>>>>>>>>http://groups.google.com/group/castle-project-users?hl=en.-Hidequoted
> > > >>>>>>>>>>>>>> text -
> > > >>>>>>>>>>>>>>> - Show quoted text -
> > > >>>>>>>>>>>>>> --
> > > >>>>>>>>>>>>>> You received this message because you are subscribed to 
> > > >>>>>>>>>>>>>> the Google Groups
> > > >>>>>>>>>>>>>> "Castle Project Users" gro...- Hide quoted text -
> > > >>>>>>>>>>>> - Show quoted text -- Hide quoted text -
> > > >>>>>>>>>> - Show quoted text -- Hide quoted text -
> > > >>>>>>>> - Show quoted text -- Hide quoted text -
> > > >>>>>> - Show quoted text -- Hide quoted text -
> > > >>>> - Show quoted text -- Hide quoted text -
> > > >> - Show quoted text -- Hide quoted text -
>
> > > - Show quoted text --הסתר טקסט מצוטט-
>
> > -הראה טקסט מצוטט--הסתר טקסט מצוטט-
>
> -הראה טקסט מצוטט-

-- 
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.

Reply via email to