gpt4 book ai didi

asp.net - 如何在 ASP.NET WebForm 中使用 Ninject 注入(inject)依赖项?

转载 作者:行者123 更新时间:2023-12-02 00:21:17 25 4
gpt4 key购买 nike

我对使用存储库模式有一个很好的想法,并且一直在尝试“升级”我们当前创建 ASP .Net 网站的方式。所以我做了以下事情

  1. 使用名为 DataAccessLayer 的类项目和另一个名为 BusinessLogicLayer 的类项目创建解决方案。最后是第三个项目,这是我的 ASP .Net 网站(一个普通网站)。
  2. 我将一个 dbml 文件添加到 DAL 并拖动一个表,然后在我的 BLL 中添加一个接口(interface)和一个实现该接口(interface)的类:

我的界面

namespace BLL.Interfaces
{
interface IUser
{
List<User> GetAllUsers();
}
}

在我的类(class)

namespace BLL.Services
{
public class UserService : BLL.Interfaces.IUser
{
public List<User> GetUsers()
{
throw new NotImplementedException();
}
}
}

我知道代码尚未完全完成,但出于说明目的。

所以我右键单击 BLL 项目 > 管理 NuGet 包 > 搜索 Ninject 并找到了一些。经过进一步研究后,我对返回的条目数量感到不知所措,我不知道如何将 Ninject 添加到普通的 ASP .Net 网站?具体我需要哪个插件?由于有很多 MVC 和进一步阅读,我认为我有点困惑。

我试图将它添加到 BLL 项目中,因为我认为它应该去那里,这样我就可以在那里注册我的服务

有人可以指导我使用 Ninject 条目但我不使用 MVC 吗?

最佳答案

安装Ninject.Web从“包管理器控制台”或 NuGet。

截至撰写本文时版本为 3.2.1。

enter image description here

或者

enter image description here

它将安装以下 4 个软件包 -

enter image description here

示例服务类

public interface IUserService
{
List<string> GetUsers();
}

public class UserService : IUserService
{
public List<string> GetUsers()
{
return new List<string> {"john", "eric"};
}
}

然后将绑定(bind)添加到~/App_Start/NinjectWebCommon.cs

enter image description here

在代码隐藏页面中,使用 [Inject] 属性注入(inject)属性。

enter image description here

关于asp.net - 如何在 ASP.NET WebForm 中使用 Ninject 注入(inject)依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25046162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com