简单的注射器和饼干

时间:2016-03-12 18:27:49

标签: asp.net-mvc simple-injector

如何使用cookie的数据作为参数为每个请求生命周期创建实例?

例如:

container.Register<ISampleRepository>(() => 
    new SampleRepository(
        container.GetInstance<ApplicationDbContext>(), 
        request.Cookie["Token"]));

1 个答案:

答案 0 :(得分:1)

正如NightOwl888在他的评论中所说:

  

Cookie是用户特定的运行时数据(并且已经与请求绑定)。依赖注入是应用程序启动时为composition root中的所有用户发生的一次。将用户的cookie作为应用程序配置的输入完全没有意义。也许如果你用你的cookie描述你想要实现的目标会更好。

blog post充分说明了解决这个问题的正确方法所遇到的问题。