Hi there,

I'm using the Castle trunk, and I understand that thanks to Mike
Nichols and his WindsorDynamicActionProviderFactory:

http://groups.google.com/group/castle-project-devel/browse_thread/thread/6fa73676a5a9d108

I should be able to get Windsor to instantiate my
DynamicActionProvider with my repository factory.

I have the following code:

[DynamicActionProvider(typeof(CrudActionProvider))]
public class MyController : Controller
{
}

public class CrudActionProvider : IDynamicActionProvider
{
    private IRepositoryFactory repositoryFactory;

    public CrudActionProvider(IRepositoryFactory repositoryFactory)
    {
        this.repositoryFactory = repositoryFactory;
    }

    public void IncludeActions(IEngineContext engineContext,
IController controller, IControllerContext controllerContext)
    {
        ((Controller)controller).DynamicActions["List"] = new
ListAction(repositoryFactory);
    }
}

Unfortunately when I hit the action I get:

No parameterless constructor defined for this object.

I can see the Windsor class in the stack trace though:

[MissingMethodException: No parameterless constructor defined for this
object.]
   System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean
publicOnly, Boolean noCheck, Boolean& canBeCached,
RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck) +0
   System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean
fillCache) +86
   System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean
skipVisibilityChecks, Boolean fillCache) +230
   System.Activator.CreateInstance(Type type, Boolean nonPublic) +67
   System.Activator.CreateInstance(Type type) +6
 
Castle.MonoRail.Framework.Services.DefaultDynamicActionProviderFactory.Create
(Type dynamicActionProviderType) +316
 
Castle.MonoRail.WindsorExtension.WindsorDynamicActionProviderFactory.Create
(Type dynamicActionProviderType) +149
   Castle.MonoRail.Framework.Controller.ProcessDynamicActionProviders
() +184
   Castle.MonoRail.Framework.Controller.PrepareToExecuteAction
(IEngineContext engineContext, IControllerContext context) +140
   Castle.MonoRail.Framework.Controller.Process(IEngineContext
engineContext, IControllerContext context) +53
   Castle.MonoRail.Framework.BaseHttpHandler.Process(HttpContext
context) +175

Many thanks for any help you can give,

morcs

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