client从server以秒为间隔获取数据。如果server关闭后再启动,则client。state一直等十分钟都是opened状态,请问怎么使它尽快的改变呢。我改了client和host的receivetimeout为10秒,可是没有作用。
刚接触wcf的菜鸟请达人解惑。
我用的绑定是WSDualHttpBinding(WSDualHttpSecurityMode.None).
实际情况是,绑定后服务端会每秒向客户端发送数据。为了使服务端关闭(意外或非意外)后,客户端能在服务端重启后及时重连。我在客户端加了定时器30秒检查一次客户端状态,如果不是opened,客户端就重新open。
所以我需要一种方法使客户端的状态能及时的自动修正。
或者有别的方法使客户端及时重连服务端的也行。
receivetimeout只会影响接收响应时的超时,也就是说,如果你的sendtimeout很长,server还没收到client发来的消息时,receivetimeout是不启作用的。
另外,在某些绑定下,server重启并不一定会破坏物理链路,所以client会以为自己和server仍然连通的。
所以,请贴出你的绑定配置和你客户端的调用代码。