StructureMap在本地工作,但不在生产服务器上工作

时间:2015-06-22 14:29:18

标签: c# dependency-injection asp.net-mvc-5 structuremap

我开发了一个MVC5应用程序,我使用StructureMap作为我的DI框架。当我从Visual Studio本地运行它时,该应用程序工作正常。但是当我发布到我们的生产服务器时,我得到了#34;无参数构造函数......"错误。我已经搜索了一个解决方案并找到了一个建议,将下面的代码添加到控制器中的空构造函数中,以获得更详细的异常:

    Roses are \textcolor{red}{red}, violets are \textcolor{blue}{blue}.

当我在生产服务器上运行此代码时,我收到错误消息:

public class HomeController : Controller
{
    public HomeController()
    {
        _bll = StructureMap.ObjectFactory.GetInstance<IAgentStatsBll>();
    }

    private IAgentStatsBll _bll;

    public HomeController(IAgentStatsBll bll)
    {
        _bll = bll;
    }

    public ActionResult Index()
    {
        HomeViewModel model = new HomeViewModel {Authors = _bll.GetAuthorsWithCommentsOnDate(DateTime.Now.AddDays(-60))};
        return View(model);
    }
}

如果我理解错误是正确的,那么它说SM无法确定它应该用于IAgentStatsBll接口的具体类型。但是,这是在DefaultRegistry.cs中配置的:     公共类DefaultRegistry:Registry {         #region构造函数和析构函数

No default Instance is registered and cannot be automatically determined for type 'ZendeskAgentStats.BLL.IAgentStatsBll'. 
There is no configuration specified for ZendeskAgentStats.BLL.IAgentStatsBll

有人能弄明白为什么它在本地工作但不在服务器上工作吗?

0 个答案:

没有答案