如何使用cookie的数据作为参数为每个请求生命周期创建实例?
例如:
container.Register<ISampleRepository>(() =>
new SampleRepository(
container.GetInstance<ApplicationDbContext>(),
request.Cookie["Token"]));
答案 0 :(得分:1)
正如NightOwl888在他的评论中所说:
Cookie是用户特定的运行时数据(并且已经与请求绑定)。依赖注入是应用程序启动时为composition root中的所有用户发生的一次。将用户的cookie作为应用程序配置的输入完全没有意义。也许如果你用你的cookie描述你想要实现的目标会更好。
blog post充分说明了解决这个问题的正确方法所遇到的问题。