Gib*_*boK 11 .net c# asp.net-mvc asp.net-mvc-4
我收到这个错误
尝试创建"AnalyticController"类型的控制器时发生错误.确保控制器具有无参数的公共构造函数.
代码在测试环境中工作,但在生产服务器上不工作.
知道什么可能导致问题吗?
这是我的控制器
public class AnalyticController : ApiController
{
private AnalyticBLL analyticBLL = new AnalyticBLL();
// POST api/status
public void Post(AnalyticDTO analyticDTO)
{
if (!analyticBLL.Register(analyticDTO))
helpers.BusinessLayer.CreateResponseException(analyticBLL.Errors);
}
}
Run Code Online (Sandbox Code Playgroud)
Pha*_*lon 13
这取决于你如何处理DI(依赖注入).默认情况下,控制器需要无参数构造函数,您必须使用Unity或Ninject之类的东西来处理DI.我发现你是从ApiController中获取的,所以如果你正在使用Ninject,请确保你下载Ninject for Web API.如果您已经知道我刚刚告诉您的所有内容,那么您需要提供更多信息.你的设置是什么?DI你用的是什么?
添加一个公共无参数构造函数,问题消失了:
public class AnalyticController : ApiController
{
public AnalyticController()
{
}
// Variables and methods are the same as before
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25844 次 |
| 最近记录: |