C# 温莎城堡动态值

C# 温莎城堡动态值,c#,castle-windsor,castle,C#,Castle Windsor,Castle,你好,我的温莎城堡项目有点问题 当我尝试通过以下方法传递某些参数时: container.Resolve(新的{Login=textBox1.Text,password=textBox2.Text}) 登录和密码的值只设置一次。接下来,当我更改文本框值,并再次单击按钮时,登录和密码的值仍然相同。如何更改这些参数?谢谢我敢打赌,您的ILogin实现在容器上注册为一个单例,因此构造只发生一次。当您第二次解析()时,它已经被构造,并且值是固定的。尝试将其更改为.Transient。如果你需要更多关于如

你好,我的温莎城堡项目有点问题

当我尝试通过以下方法传递某些参数时:

container.Resolve(新的{Login=textBox1.Text,password=textBox2.Text})


登录和密码的值只设置一次。接下来,当我更改文本框值,并再次单击按钮时,登录和密码的值仍然相同。如何更改这些参数?谢谢

我敢打赌,您的ILogin实现在容器上注册为一个单例,因此构造只发生一次。当您第二次解析()时,它已经被构造,并且值是固定的。尝试将其更改为.Transient。如果你需要更多关于如何做到这一点的信息,请查阅“温莎生活方式”


顺便说一句,直接使用“容器”通常表示设计上有问题。有时候没有别的办法,所以对这条评论要小心谨慎。

谢谢,它很有效,但我现在有不同的问题。。我需要一个包含两个组件的组件。当我试图通过这种方式来实现时:container.Resolve(“LogUser”).logging.Login();我有一个异常:“无法创建组件‘LogUser’,因为它需要满足依赖关系。”在这些异常的详细信息中,我看到没有提供构建“MAIN”组件的两个组件的参数。