确保控制器具有一个无参数的公共构造 [英] Make sure that the controller has a parameterless public constructor

查看:190
本文介绍了确保控制器具有一个无参数的公共构造的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我得到这个错误

 试图创造型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
}

这篇关于确保控制器具有一个无参数的公共构造的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆