简单的注入器Web表单
本文关键字:表单 Web 注入器 简单 | 更新日期: 2023-09-27 18:10:29
我有一个UI层和一个BLL层。
namespace BLL
{
public class User : IUser
{
public void DoSomething(){}
}
public interface IUser
{
void DoSomething();
}
public static class TypeRegistry
{
public static void RegisterTypes(Container container)
{
container.Register<IUser, User>(Lifestyle.Singleton);
}
}
}
namespace UI
{
public partial class Login : System.Web.UI.Page
{
private IUser user;
}
}
我想不出如何让user不为空。我已经尝试创建一个构造函数,但导致一个错误
public Login(IUser user){ this.user = user;}
编译错误:Login不包含接受0个参数的构造函数
这个链接帮我找到了答案:
https://simpleinjector.readthedocs.org/en/latest/wpfintegration.html类似于@Steven的链接
https://simpleinjector.readthedocs.org/en/latest/windowsformsintegration.html如果您已经完成了文档中Web Forms集成指南中所演示的所有注册,那么我认为问题是由于您将页面中的IUser可访问性级别设置为private
。
所以private IUser user;
应该变成public IUser user;
。由于Web Forms要求你在构造函数注入之前进行属性注入,所以属性用户应该是可以公开访问的。