我目前有一种类型,我注入到我的控制器,用于获取和设置会话数据。消除静态属性 - 我可以使用哪些模式?
我使用这个,所以我可以获得相关的会话信息为_sessionData.Username
而不是使用Session["username"]
。
我想在所有的视图中使用这个会话信息和而以前这通过使SessionData成员,而不是静态的SessionData类注射到我的控制器做到了这一点。
我想避免使用静态成员以及具有与对象传递给每个控制器中图。
什么模式最适合这种类型的场景?你如何解决这个问题?
我更喜欢在会话中确切地知道我可以访问的内容,而不是使用魔术键字符串。我的SessionData类几乎完成了你上面的方法。问题是,如何在不使其静态的情况下在我的视图中使用它? – 2012-04-09 11:13:13
@JamieDixon对不起,我错过了,并更新了我的答案。 – 2012-04-09 11:26:39
谢谢贾斯汀。到目前为止,我所知道的所有解决方案似乎都非常优雅。访问静态类成员,使用魔术字符串直接访问会话对象,在视图中创建对象。必须有一种更优雅的方式来访问大量视图中的共享信息。也许使用基本控制器将自定义Session类插入到每个请求的视图包中。 – 2012-04-09 11:37:28