NInject在函数中使用

Posted 邢帅杰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NInject在函数中使用相关的知识,希望对你有一定的参考价值。

问题,今天我在使用Ajax的时候,发现请求到后台没法得到对象。

原来的写法是这样的:

public class Baoming : IHttpHandler
    {
        [Inject]
        public IBLL.IChildrensInfo ChildrensInfoBLL { get; set; }
public void Save()
{
//下面就直接使用 ChildrenInfoBLL,报错未将引用设置到对象的实例
}
}

 

后来查到了一个方法:

public void Save()
{
IKernel kernel = new StandardKernel();
            kernel.Bind<IBLL.IChildrensInfo>().To<BLL.ChildrensInfo>();
            kernel.Bind<IDAL.IChildrensInfo>().To<DAL.ChildrensInfo>();
            IBLL.IChildrensInfo ChildrensInfoBLL = kernel.Get<IBLL.IChildrensInfo>();
//......
}

好了,问题解决。

还有一个问题是:在一般处理程序中使用 NInject 的时候,还可以用另一个办法:WebServiceBase。之前不知道,后来查到的,

让ashx继承WebServiceBase 就好了:

public class GetUserMsgHandler : WebServiceBase, IHttpHandler{

[Inject]

public IBLL.IChildrensInfo ChildrensInfoBLL { get; set; }//接下来就可以正常使用了

}

参考:http://www.cnblogs.com/JustYong/p/5882416.html

以上是关于NInject在函数中使用的主要内容,如果未能解决你的问题,请参考以下文章

使用 Unity3D 进行 Ninject

Ninject之旅之七:Ninject依赖注入

在 MVC3 应用程序中将 Ninject 与自定义角色提供程序一起使用

如何在c#类库中使用Ninject

Ninject 3、WCF服务和参数化构造函数

使用 Ninject 进行惰性泛型委托初始化