2016-07-24 188 views
0

我的tcp.net由IIS託管的Singleton服務(設置爲concurrency = Multiple)是必然設置爲Singleton。我不知道我是否需要設置Session Required或Reliable Session,但目前他們沒有。WCF單例投擲超時異常

(這是一個視頻服務器,接受工作請求)。在長時間從使用它的所有代理斷開連接並處於空閒狀態後,它最終會引發超時異常!我知道我可以這樣延遲增加一個非常大的#,但我想弄清楚幾件事情強加於:

  1. 有沒有一種方法,從單內,說:「嘿,我不知道想再運行一段時間,沒有人連接到我很長時間?「並乾淨地
  2. 在單身人士中,我是否會捕獲正在拋出的超時異常,並可能捕獲它,然後可能退出服務或僅僅靜靜地消化它?我不認爲這是我從服務到回調的任何外撥電話,而且我知道我從我的每個方法中返回,因此我會在哪裏捕獲它?
  3. 如果一個單身人士應該「永遠活着」或「直到主人關閉」,那麼如果沒有人長期接觸它,它會拋出超時錯誤的要點是什麼?

或者......可能......我在我的系統中有一個錯誤,超時異常沒有被拋出,因爲沒有人在很長一段時間調用它,但是因爲別的東西?我仍在研究這一點。

我在stackoverflow上問這個問題,因爲我沒有看到它在任何地方,有用的答案會顯示在這裏,希望。

回答

0

(如果有連接到它的人服務,也不會拋出超時錯誤。

在我的代碼,我是從不同的代理,然後讓所有的代理調用它閒置,但不切斷他們。這是當它會拋出超時錯誤

如果我先斷開每個代理服務不會拋出錯誤,但這只是一個部分的答案,我仍然想知道在哪裏可以捕獲錯誤

有人幫助回答問題部分#2?