lishunli / nutz

Automatically exported from code.google.com/p/nutz
0 stars 0 forks source link

Mvc: 模块对象被 Sessiont 属性掩盖 #105

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
按照现在的实现:

当用户请求一个 URL, 我们会将 Ioc 同 Session <-> Request 连接

记得幸福的旁边遇到的问题是:
他有一个模块,@InjectName("user") , 同时,他也会向 Request 
里面放一个 "user" 的对象来
记录当前的会话登陆状态。

而 Mvc 从 Ioc 容器里获取对象的顺序是:
Request -> Session -> Ioc.App

在这种情况下,取出的 "user" 对象就不在是 UserModule 而是 User 
 本身,所以产生错误

Original issue reported on code.google.com by zozoh...@gmail.com on 8 Jan 2010 at 7:28

GoogleCodeExporter commented 9 years ago
需要修改 IocContext,为其 fetch 
接口函数增加一个参数:对象类型,即可避免这个问题

Original comment by zozoh...@gmail.com on 8 Jan 2010 at 7:29

GoogleCodeExporter commented 9 years ago
仔细想想,这个特性或许是个不错的功能,没有必要修复。
ObjectProxy 类模糊了对象的类别,如果在 IocContext 
接口判断,会增加逻辑的复杂性

这种情况可以在编程的时候注意,避免。

增加为 FAQ
更新了 wiki:
> [ioc_scope]
> [mvc_with_ioc] : 需要注意的问题

Original comment by zozoh...@gmail.com on 12 Jan 2010 at 7:19

GoogleCodeExporter commented 9 years ago

Original comment by zozoh...@gmail.com on 12 Jan 2010 at 7:19

GoogleCodeExporter commented 9 years ago
wiki:

 > http://code.google.com/p/nutz/wiki/ioc_scope#通过_ComboContext_链接
 > http://code.google.com/p/nutz/wiki/mvc_with_ioc#需要注意的问题

Original comment by zozoh...@gmail.com on 12 Jan 2010 at 7:22

GoogleCodeExporter commented 9 years ago

Original comment by wendal1985@gmail.com on 13 May 2010 at 11:00

GoogleCodeExporter commented 9 years ago

Original comment by zozoh...@gmail.com on 14 May 2010 at 10:38