I ran into an issue here regarding the automatic registration and execution 
of a IMessageAction implementing class. As fas as I understand, if I 
register a class which implements IMessageAction with the container, that 
message action is automatically applied to all registered WCF services via 
WCFFacility. In my concrete case, BasicAuthenticationMessageAction's Perform 
method is not called at all during service call.


container
    .AddFacility<WcfFacility>(f => f.CloseTimeout = TimeSpan.Zero)
    .AddFacility<FactorySupportFacility>()
    .AddFacility<LoggingFacility>(a => 
a.LogUsing(LoggerImplementation.ExtendedLog4net).WithConfig(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
 
"config/log4net.config")))
    .AddFacility<TransactionFacility>()
    .Register(
        Component.For<MessageLifecycleBehavior>(),
        *Component.For<BasicAuthenticationMessageAction>(),*
        Component.For<IServiceBehavior>().Instance(returnFaults),
        Component.For<IServiceBehavior>().Instance(metadata),               
         
       
 
Component.For<LogMessageEndpointBehavior>().Attribute("scope").Eq(WcfExtensionScope.Explicit).Named("logMessageBehavior"),
        Component.For<IMyService>()
            .ImplementedBy<MyService>()
            .Named("TestWCF.IMyService") //fully qualified name (together 
with namespace is required)
            .AsWcfService(new DefaultServiceModel().Hosted().LogMessages()
                               
 .AddEndpoints(WcfEndpoint.BoundTo(httpBinding))
            )


And BasicAuthenticationMessageAction class definition:

public class BasicAuthenticationMessageAction : AbstractMessageAction
{
    public BasicAuthenticationMessageAction()
        : base(MessageLifecycle.All)
    {
    }

    public override bool Perform(ref Message message, MessageLifecycle 
lifecycle, IDictionary state)
    {
      Console.WriteLine("I've been here");
    }
}


Is this a bug or am I  using the  facility inappropriately?

Thanks,
Robert

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