Tag: 体系结构

INotifyPropertyChanged与ViewModel中的DependencyProperty

当在Model-View-ViewModel体系结构的WPF应用程序中实现ViewModel时,似乎有两个主要的select如何使它成为数据绑定的。 我见过使用DependencyProperty实现视图将要绑定的属性,我已经看到实现INotifyPropertyChanged的ViewModel。 我的问题是我应该什么时候比另一个更喜欢? 有任何性能差异? 将ViewModel依赖关系提供给WPF真的是个好主意吗? 做出devise决定时还需要考虑什么?

我刚刚发现为什么所有的ASP.Net网站都很慢,我正在设法解决这个问题

我刚刚发现,ASP.Net Web应用程序中的每个请求都在请求开始时获得一个Session锁,然后在请求结束时释放它! 如果这件事的影响在你身上丢失了,就像我刚开始时那样,这基本上意味着如下: 任何时候,ASP.Net网页都需要很长时间才能加载(可能是因为数据库调用缓慢或者其他原因),并且用户因为厌倦了等待而决定导航到不同的页面,所以他们不能! ASP.Net会话锁迫使新的页面请求等待,直到原始请求完成其痛苦的缓慢加载。 Arrrgh。 每当UpdatePanel缓慢加载,并且用户决定在UpdatePanel完成更新之前导航到不同的页面…他们不能! ASP.net会话锁迫使新的页面请求等待,直到原始请求完成其痛苦的缓慢加载。 双Arrrgh! 那么有什么选择? 到目前为止,我已经想出了: 实现ASP.Net支持的自定义SessionStateDataStore。 我还没有发现太多复制,似乎是一种高风险,容易搞砸。 跟踪所有正在进行的请求,并且如果请求来自同一用户,请取消原始请求。 似乎有点极端,但它会工作(我认为)。 不要使用会话! 当我需要用户的某种状态时,我可以使用缓存来代替,也可以使用经过身份验证的用户名或关键项。 再次显得有点极端。 我真的不敢相信ASP.Net微软团队会在4.0版本的框架中留下如此巨大的性能瓶颈! 我错过了什么明显的? 在会话中使用ThreadSafe集合有多难?