簡體   English   中英

在執行大型存儲過程時在SQL中運行查詢

[英]Running queries in SQL while big stored-procedure is executing

我有一種情況需要運行存儲過程(> 5分鍾)並希望我的(silverlight)應用程序保持“活着”

我使用異步WCF服務為我的UI線程做出響應,至少在我再次從同一個DB請求一些數據之前

然后,只有在SP完成后才執行其他請求

我可以以某種方式(在SQL中假設)將storedprocedure設置為能夠與其他查詢一起運行嗎?

謝謝

編輯:

  1. DB在SQL Server上
  2. [OperationContract(AsyncPattern = true)]服務方法中從Linq2Sql模型啟動SP
  3. 其他數據由WCF Ria Services處理(來自Linq2SQL模型的DomainService,相同的連接字符串)

編輯2:

@ dan1111:通過測試我看到,直到WCF服務將結果返回給Silverlight,DomainContext'凍結'

原來:

  1. 我用Thread.Sleep(15000)調用WCF異步方法
  2. 應用程序繼續運行良好
  3. 當我轉到需要數據的頁面時,我請求DataContext.Load()
  4. DataContext.IsLoading變為true
  5. 我必須等待15秒的剩余時間
  6. 現在,為先前的DataContext.Load觸發了已完成的事件

請告訴我你的意見

一個非常簡單的解決方案是打開多個數據庫連接。 每個連接都可以做自己的事情。

但是,有另一種方法可以實際設置一個異步運行的過程:

http://rusanu.com/2009/08/05/asynchronous-procedure-execution/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM