我在使用Castle Windsor控制器工厂与新的RenderAction方法时遇到了问题。我收到以下错误消息:
一个控制器'MyController'的单个实例不能用于处理多个请求。如果正在使用自定义控制器工厂,请确保为每个请求创建一个新的控制器实例。
这是我的控制器工厂中的代码:
一个控制器'MyController'的单个实例不能用于处理多个请求。如果正在使用自定义控制器工厂,请确保为每个请求创建一个新的控制器实例。
这是我的控制器工厂中的代码:
public class CastleWindsorControllerFactory : DefaultControllerFactory
{
private IWindsorContainer container;
public CastleWindsorControllerFactory(IWindsorContainer container)
{
this.container = container;
}
public override IController CreateController(RequestContext requestContext, string controllerName)
{
return container.Resolve(controllerName) as IController;
}
public override void ReleaseController(IController controller)
{
this.container.Release(controller);
}
}
有人知道我需要做哪些更改才能使其与RenderAction一起工作吗?
我发现错误消息有点奇怪,因为它谈论了多个请求,但据我所知,RenderAction实际上并没有创建另一个请求(BeginRequest不会再次触发)。