2016-07-24 145 views
0

我的tcp.net由IIS托管的Singleton服务(设置为concurrency = Multiple)是必然设置为Singleton。我不知道我是否需要设置Session Required或Reliable Session,但目前他们没有。WCF单例投掷超时异常

(这是一个视频服务器,接受工作请求)。在长时间从使用它的所有代理断开连接并处于空闲状态后,它最终会引发超时异常!我知道我可以这样延迟增加一个非常大的#,但我想弄清楚几件事情强加于:

  1. 有没有一种方法,从单内,说:“嘿,我不知道想再运行一段时间,没有人连接到我很长时间?“并干净地
  2. 在单身人士中,我是否会捕获正在抛出的超时异常,并可能捕获它,然后可能退出服务或仅仅静静地消化它?我不认为这是我从服务到回调的任何外拨电话,而且我知道我从我的每个方法中返回,因此我会在哪里捕获它?
  3. 如果一个单身人士应该“永远活着”或“直到主人关闭”,那么如果没有人长期接触它,它会抛出超时错误的要点是什么?

或者......可能......我在我的系统中有一个错误,超时异常没有被抛出,因为没有人在很长一段时间调用它,但是因为别的东西?我仍在研究这一点。

我在stackoverflow上问这个问题,因为我没有看到它在任何地方,有用的答案会显示在这里,希望。

回答

0

(如果有连接到它的人服务,也不会抛出超时错误。

在我的代码,我是从不同的代理,然后让所有的代理调用它闲置,但不切断他们。这是当它会抛出超时错误

如果我先断开每个代理服务不会抛出错误,但这只是一个部分的答案,我仍然想知道在哪里可以捕获错误

有人帮助回答问题部分#2?