确保控制器具有一个无参数的公共构造器具、有一个、参数

2023-09-05 03:25:43 作者:潇洒醉1场 ∽

我得到这个错误

 试图创造型AnalyticController的控制器时发生错误。确保控制器具有一个无参数公共构造方法。
 

code工作在测试环境中,但在生产服务器不上了。

任何想法可能会导致问题?

这是我的控制器

 公共类AnalyticController:ApiController
    {
        私人AnalyticBLL analyticBLL =新AnalyticBLL();

        // POST API /状态
        公共无效后(AnalyticDTO analyticDTO)
        {
            如果(!analyticBLL.Register(analyticDTO))
                helpers.BusinessLayer.CreateResponseException(analyticBLL.Errors);
        }
    }
 
鑫磊空压机进气阀控制器

解决方案

添加一个公共的无参数的构造函数,问题消失了:

 公共类AnalyticController:ApiController
{
   公共AnalyticController()
   {
   }

   //变量和方法与以前相同
}
 

I get this error

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

Code works in test environment but not on the production server.

Any idea what could cause the problem?

this is my 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);   
        }
    }

解决方案

Add a public parameterless constructor and the problem goes away:

public class AnalyticController : ApiController
{
   public AnalyticController()
   {
   }

   // Variables and methods are the same as before
}