我对使用存储库模式有一个很好的想法,并且一直在尝试升级"我们目前创建ASP .Net网站的方式。所以我做以下
namespace BLL.Interfaces
{
interface IUser
{
List<User> GetAllUsers();
}
}
namespace BLL.Services
{
public class UserService : BLL.Interfaces.IUser
{
public List<User> GetUsers()
{
throw new NotImplementedException();
}
}
}
我知道代码没有完全完成,但仅用于说明目的。
所以我右键单击BLL项目&gt;管理NuGet包&gt;搜索Ninject并找到了一些。经过进一步的研究后,我失去了如何将Ninject添加到普通的ASP .Net网站,我对这些条目的数量感到不知所措?具体哪个添加我需要?由于有很多MVC和进一步阅读,我觉得我有点困惑。
我试图将它添加到BLL项目中,因为我认为它应该去,所以我可以在那里注册我的服务。
为了使用Ninject条目但是我不使用MVC,有没有人可以指导我所需要的内容?
答案 0 :(得分:7)
从&#34;软件包管理器控制台&#34;安装Ninject.Web或NuGet。
截至撰写本文时版本为3.2.1。
OR
它将安装以下4个包 -
public interface IUserService
{
List<string> GetUsers();
}
public class UserService : IUserService
{
public List<string> GetUsers()
{
return new List<string> {"john", "eric"};
}
}
然后将绑定添加到~/App_Start/NinjectWebCommon.cs
。
在代码隐藏页面中,使用[Inject]
属性注入属性。
答案 1 :(得分:0)
另外在 win 的回答中我建议人们不要在ASP.NET Webforms中使用基于构造函数的注入而感到困惑strong> Web表单不支持基于构造函数的注入。在默认配置中,它们仅支持 Win 所示的基于属性的注入。