问题,今天我在使用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

posted on 2017-05-05 17:46  邢帅杰  阅读(194)  评论(0编辑  收藏  举报