[英]How to reconnect to a lost connection when it is lost using Linq to SQl automagically
我不想在try catch塊中封裝每個調用
是否有我可以訂閱的事件,當連接丟失或超時時,我可以重新連接..
或某種方式不檢查每個linq查詢。
如果沒有,為什么不呢!
編輯:Linq to Entity有嗎?
編輯:我正在使用Microsoft SQL Azure,它會丟棄很多連接。
編輯:我在每次調用db時打開一個新連接。 所以它不是我打開連接。
即使有這樣的事件(不確定),你仍然不能依賴它。 網絡連接可能會突然中斷,數據庫引擎忙於執行其他查詢,超時始終是可能的。 無論原因如何,最好直接查看查詢是成功還是失敗。
您可以考慮編寫自己的LINQ提供程序 (使用現有的大部分功能)來添加此功能。 它可能比每次處理異常都要少。
你為什么這么多滴? 您是否長時間掛在數據上下文對象上? 構建一個是很便宜的,所以當你開始一個新的工作單元時,只需構建一個新的。
來自這個msdn博客
最好在更短的生命周期內犯錯 - 一個工作單元甚至是無狀態服務器的單一請求都是良好的模式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.