2
我對.NET中SqlDependency的用法有一個疑問。我已經閱讀過文檔,但是OnChange事件是否在自己的線程中被調用,我還不清楚。舉例來說,如果我得到30個併發事件,他們每個人都得到他們自己的OnChange甚至處理程序?我問的原因是,如果OnChange處理程序正在完成的工作阻塞下一個事件,我不想用此創建引擎。C#.NET SqlDependency
例如,我有一個訂單數據庫的SqlDependency,每次有新的訂單,我收到OnChange事件,然後我可以處理用戶的訂單。這不會阻止其他人進來,對嗎?
另外,你看到使用這種方法的任何問題? SqlDependency看起來像一個非常強大的功能,所以我希望它能以這種方式工作。 )
由於
再次,非常模糊的信息。 「可能會在不同的線程中生成」並不完全回答我的問題。至於第二部分,正如你從我的問題的例子中看到的那樣,這是一箇中間層(接受客戶訂單)。那麼,這會阻止其他事件嗎?還是會在自己的線程中處理所有併發事件? – u84six 2012-07-13 15:55:21
另外,其他中型網站如何處理這些類型的事務,您需要對更新採取措施,然後將數據處理到另一個數據庫,哪裏有錯誤並需要重新處理? – u84six 2012-07-13 15:55:45
我目前有一個Windows服務在數據庫機器上運行,在Orders數據庫上有一個sqldependency,並且對於每個插入,我正在處理和分派數據到另一個服務器的數據庫。如果調度失敗,我在windows服務中設置一個定時器一分鐘,以處理任何未處理的定單。我必須假設這是一個非常常見的情景。其他Web應用程序如何做到這一點?這是我可以考慮使其工作的唯一方法,所以我想知道處理是否會被任何或所有併發訂單阻塞。 – u84six 2012-07-13 15:55:57