首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ninject找不到资源

Ninject找不到资源
EN

Stack Overflow用户
提问于 2011-08-15 14:13:30
回答 1查看 2.3K关注 0票数 4

我搞错了

找不到资源。

当我试图在我的MVC-3应用程序中实现Ninject时。这个问题似乎来自于Global.asax在CreateKernel()期间

代码语言:javascript
复制
#region Inversion of Control

    protected override IKernel CreateKernel()
    {
        return Container;
    }

    static IKernel _container;
    public static IKernel Container
    {
        get
        {
            if (_container == null)
            {
                _container = new StandardKernel(new SiteModule());
            }
            return _container;
        }
    }

    internal class SiteModule : NinjectModule
    {
        public override void Load()
        {
            bool MOCKDB = true;
            //MOCKDB = false;//Stop Mocking
            if (MOCKDB)
            {
                //Set up mock bindings
                Bind<iItem>().To<LeadServiceMock>();
            }
            else
            {
                //Set up real bindings.
                Bind<iItem>().To<LeadService>();
            }
        }
    }
    #endregion

如果我把上面的代码取出来,然后恢复到System.Web.HttpApplication,那么事情就会重新开始工作。

代码语言:javascript
复制
public class MvcApplication : NinjectHttpApplication//:System.Web.HttpApplication
    {

我从以前编写的实现中提取了这段代码,该实现仍然有效。如果我一步步调试

代码语言:javascript
复制
protected override IKernel CreateKernel()
{
    return Container;
}

我在中发现了一个错误--工作程序和这个坏程序:

代码语言:javascript
复制
Locating source for 'c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs'. Checksum: MD5 {b8 b2 52 86 ce 34 de 53 61 76 c9 df ff 65 8c 3f}
The file 'c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs' does not exist.
Looking in script documents for 'c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs'...
Looking in the projects for 'c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs'.
The file was not found in a project.
Looking in directory 'c:\Program Files\Microsoft Visual Studio 10.0\VC\crt\src\'...
Looking in directory 'c:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\src\mfc\'...
Looking in directory 'c:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\src\atl\'...
Looking in directory 'c:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\'...
The debug source files settings for the active solution indicate that the debugger will not ask the user to find the file: c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs.
The debugger could not locate the source file 'c:\Projects\Ninject\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectHttpApplication.cs'.

我怀疑我在SiteModule做错了什么。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-15 14:25:08

Application_Start()替换为OnApplicationStarted()

代码语言:javascript
复制
    //protected void Application_Start()
    //{
    //    AreaRegistration.RegisterAllAreas();

    //    RegisterGlobalFilters(GlobalFilters.Filters);
    //    RegisterRoutes(RouteTable.Routes);
    //}

    protected override void OnApplicationStarted()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
    }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7065938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档