Hi,

I'm trying to register multiple interfaces and using a factory method to
instanciate them with DictionaryAdapter:

The interfaces to be registered looks like this:

  public interface IHttpSession
  {
  }

  public interface ITestSession : IHttpSession
  {
    string StringValue { get; set; }
    int IntValue { get; set; }
    int NoValue { get; set; }
  }

  public interface ITestSession2 : IHttpSession
  {
    string OtherValue { get; set; }
  }

I tried the following using the AllTypes descriptor:

      container
        .Register(AllTypes
                    .FromAssemblyInDirectory(assemblyFilter)
                    .BasedOn<IHttpSession>()
                    .Configure(component => component.UsingFactoryMethod(
                      () => new
DictionaryAdapterFactory().GetAdapter(component.ServiceType,
GetSessionItems())))
        );

It does not work however, and looking at the code, specifically
BasedOnDescriptor.cs, It looks like it only searches for concrete types.

Is this supported or am I just doing something wrong? Or is there a better
way (I ended up manually enumerating the types and calling
Component.For<>()... instead)?

Regards,
/Johannes

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