John,

we would really welcome your help :)

The SL support is getting more and more important for more and more
people so putting some work in that would certainly be a good idea

2009/9/1 John Simons <[email protected]>:
>
> It would be good to support IParameterInspector via Windsor.
> So that we don't have to write a IOperationBehavior just to add the
> IParameterInspector.
> Eg.
>        public class AuditBehavior : IOperationBehavior
>        {
>                private readonly ILogger logger;
>
>                public AuditBehavior(ILogger logger)
>                {
>                        this.logger = logger;
>                }
>
>
>                /// <inheritdoc/>
>                public void Validate(OperationDescription operationDescription)
>                {
>
>                }
>
>
>                /// <inheritdoc/>
>                public void ApplyDispatchBehavior(OperationDescription
> operationDescription, DispatchOperation dispatchOperation)
>                {
>                        dispatchOperation.ParameterInspectors.Add(new 
> AuditingInspector
> (logger));
>                }
>
>
>                /// <inheritdoc/>
>                public void ApplyClientBehavior(OperationDescription
> operationDescription, ClientOperation clientOperation)
>                {
>
>                }
>
>
>                /// <inheritdoc/>
>                public void AddBindingParameters(OperationDescription
> operationDescription, BindingParameterCollection bindingParameters)
>                {
>
>                }
>        }
>
> The class above only exists because there is no other way to register
> IParameterInspectors.
>
>
> On Sep 2, 1:34 am, Craig Neuwirt <[email protected]> wrote:
>> Since you seem to be a user of the facility, are there any other things you
>> would like changed or added?
>>
>> On Mon, Aug 31, 2009 at 6:56 PM, John Simons 
>> <[email protected]>wrote:
>>
>> > One more thing Craig,
>>
>> > On the client side the following test is failing :  (Paste in
>> > WcfClientFixture)
>>
>> >         [Test, ExpectedException(typeof(EndpointNotFoundException))]
>> >         public void ThrowsEndPointNotFoundException()
>> >         {
>> >             Func<IWindsorContainer> createLocalContainer = () =>
>> >                 new WindsorContainer()
>> >                 .AddFacility<WcfFacility>(f => f.CloseTimeout =
>> > TimeSpan.Zero)
>> >                 .Register(
>> >                     Component.For<Operations>()
>> >                         .DependsOn(new { number = 42 })
>> >                         .ActAs(new DefaultServiceModel().AddEndpoints(
>> >                             WcfEndpoint.ForContract<IOperations>()
>> >                                 .BoundTo(new NetTcpBinding {
>> > PortSharingEnabled = true })
>> >                                 .At("net.tcp://localhost/Operations1"))
>> >                         )
>> >                     );
>>
>> >             windsorContainer.Register(
>> >                 Component.For<IOperationsEx>()
>> >                     .Named("operations")
>> >                     .ActAs(new DefaultClientModel
>> >                     {
>> >                         Endpoint = WcfEndpoint
>> >                             .BoundTo(new NetTcpBinding { PortSharingEnabled
>> > = true })
>> >                             .At("net.tcp://localhost/Operations2")
>> >                             .AddExtensions(new ChannelReconnectPolicy())
>> >                     })
>> >                 );
>>
>> >             IOperationsEx client;
>>
>> >             using (createLocalContainer())
>> >             {
>> >                 client =
>> > windsorContainer.Resolve<IOperationsEx>("operations");
>> >                 client.Backup(new Dictionary<string, object>());
>> >             }
>> >         }
>>
>> > The exception thrown is ComponentActivatorException but I think you should
>> > instead throw the inner exception, so that the test passes.
>> > What do you think ?
>>
>> > This way makes it more natural and simple for the consumer.
>>
>> > Cheers
>> > John
>>
>> > ------------------------------
>> > *From:* Craig Neuwirt <[email protected]>
>> > *To:* [email protected]
>> > *Sent:* Tuesday, 1 September, 2009 9:25:49 AM
>> > *Subject:* Re: WcfFacility policies
>>
>> > sure
>>
>> > On Mon, Aug 31, 2009 at 6:18 PM, John Simons 
>> > <[email protected]>wrote:
>>
>> >> Craig,
>>
>> >> That's what I'm saying, I think you should use this as the default
>> >> implementation of IChannelActionPolicy and if the user wants they can
>> >> register another implementation with a lower ExecutionOrder so that
>> >> gets executed before.
>> >> What do you think?
>>
>> >> On Aug 31, 11:52 pm, Craig Neuwirt <[email protected]> wrote:
>> >> > There are many ways to handle reconnection, so I didn't want to pick one
>> >> by
>> >> > default.
>> >> > I could probably use it as a default if none are specified.
>>
>> >> > On Sat, Aug 29, 2009 at 9:39 PM, John Simons <
>> >> [email protected]>wrote:
>>
>> >> > > I've noticed that the ChannelReconnectPolicy is not automatically
>> >> > > added to the facility.
>> >> > > Shouldn't this be an opt out instead ?
>>
>> >> > > I would think that 9/10 you want the facility to handle the
>> >> > > CommunicationException automatically and recreate the channel.
>>
>> >> > > Cheers
>> >> > > John
>>
>> > ------------------------------
>> > Find local businesses and services in your area with Yahoo!7 Local. Get
>> > started<http://au.rd.yahoo.com/search/local/mailtagline/*http://local.yahoo.c...>
>> > .
> >
>

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