gpt4 book ai didi

c# - 确保 Controller 有一个无参数的公共(public)构造函数

转载 作者:可可西里 更新时间:2023-11-01 08:55:11 24 4
gpt4 key购买 nike

我收到这个错误

An error occurred when trying to create a controller of type 'AnalyticController'. Make sure that the controller has a parameterless public constructor.

代码可以在测试环境中运行,但不能在生产服务器上运行。

知道是什么导致了这个问题吗?

这是我的 Controller

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);
}
}

最佳答案

这取决于您如何处理 DI(依赖注入(inject))。默认情况下, Controller 需要无参数构造函数,您必须使用 Unity 或 Ninject 之类的东西来处理 DI。我看到你是从 ApiController 继承的,所以如果你使用 Ninject 确保你下载 Ninject for Web API .如果你已经知道我刚才告诉你的一切,那么你需要提供更多信息。你的设置是什么?你用什么做DI?

关于c# - 确保 Controller 有一个无参数的公共(public)构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24014644/

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