在属性getter中WPF绑定期间的HttpWebRequest套接字操作

时间:2010-06-08 18:46:18

标签: wpf sockets httpwebrequest binding

在C#类的属性获取器中,我使用HTTP GET对某个https地址进行HttpWebRequest。 WPF的属性绑定似乎扼杀了这一点。如果我尝试以简单的方法访问该属性,例如Button_Clicked,它完美无缺。如果我使用WPF绑定来访问相同的属性,则应用程序似乎无限期地在套接字的recv()方法上被阻止。

在绑定过程中做这种事情是不是禁止的吗?应用程序在绑定期间处于某种特殊状态吗?

我是否有一种简单的方法来克服这种限制并仍然保持相同的基本理念?

1 个答案:

答案 0 :(得分:1)

我认为除了从属性中的'get'返回值之外,做一些复杂的事情是不好的形式。这对象的消费者不直观。

更好的想法是将绑定保持为非常愚蠢(只返回值),并且当应该刷新绑定时,启动后台线程来执行Web请求,然后更新用于绑定的属性。然后WPF不必担心在更新它时发出Web请求;绑定值。