我要做的是在后台运行计时器,同时从服务器获取响应。如果时间超过约5秒,则显示一些信息。
我尝试了其他计时器类型,但无法弄清楚如何在不同的线程上运行它。
我的问题是当它从客户端开始执行Subscribe()
时(在服务器端用 OperationContract 属性标记的方法),它会在该行代码上停止并等待,窗口冻结,大约15秒后,它只会抛出超时异常。
我想在设置此计时器之前处理该异常,因此客户端也不需要等待那么长时间才能发现服务器没有运行。
我的代码:
try
{
//...
/* starting timer here */
//my service client instance calling Subscribe method
ServiceClientInstance.Client().Subscribe(/*username*/);
//closing the channel
ServiceClientInstance.Client().Close();
//...
}
catch (CommunicationObjectAbortedException)
{
//some other operation after exception is handled
}