gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 2 Preview 1 - 编译 StructureMap Controller 工厂的问题

转载 作者:行者123 更新时间:2023-12-04 02:42:50 25 4
gpt4 key购买 nike

我有一个项目,我使用 StructureMap 进行依赖注入(inject)。该项目作为 MVC 项目编译得很好,但是在将所有内容移动到 MVC2 项目后,我现在收到以下错误:

Test.Web.Controllers.StructureMapControllerFactory.GetControllerInstance(System.Type)': no suitable method found to override C:\Test\Web\Controllers\StructureMapControllerFactory.cs 11 40 Test.Web



这是我的 StructureMapControllerFactory:
using System;
using System.Web.Mvc;
using StructureMap;

namespace Test.Web.Controllers
{
public class StructureMapControllerFactory : DefaultControllerFactory
{

protected override IController GetControllerInstance(Type controllerType)**
{

IController result = null;
try
{
if (controllerType == null) return base.GetControllerInstance(controllerType);
result = ObjectFactory.GetInstance(controllerType) as Controller;

}
catch (StructureMapException)
{
System.Diagnostics.Debug.WriteLine(ObjectFactory.WhatDoIHave());
throw;
}

return result;
}

}
}

我发现了一篇与此问题半相关的帖子,但它没有提供任何关于如何解决我的问题的见解: MVC 2 preview 1 - methods with parameters in the controller fail to load

显然,我一定错过了 1.0-2.0 进程的变化,但我不确定发生了什么变化。任何帮助总是受到赞赏。

最佳答案

此方法的签名已更改。现在有了 RequestContext 的第一个参数:

protected override IController GetControllerInstance(
RequestContext requestContext,
Type controllerType)

您还需要更改对 base.GetControllerInstance 的调用:
if (controllerType == null) 
return base.GetControllerInstance(requestContext, controllerType);

关于asp.net-mvc - ASP.NET MVC 2 Preview 1 - 编译 StructureMap Controller 工厂的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1364295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com