我們有一項服務來更新客戶信息到服務器。一次服務呼叫需要幾秒鐘,這是正常的。Fire and Forget(Asynch)ASP.NET方法調用
現在我們有了一個新的頁面,可以更新35-50個Costumers信息。改變服務界面以接納所有客戶在這一點上是毫無疑問的。
我需要調用一個方法(比如說「ProcessCustomerInfo」),它將循環客戶信息並調用Web服務35-50次。異步調用服務沒有多大用處。
我需要異步調用「ProcessCustomerInfo」方法。我正在嘗試使用RegisterAsyncTask。網上有各種可用的示例,但問題是在啓動此調用後,如果我離開此頁面,則處理停止。
是否可以實現Fire and Forget方法調用,以便用戶可以在不停止方法處理的情況下從頁面移開(重定向到另一個頁面)?
謝謝喬爾!由於MethodInvoker是System.Windows.Form的一部分,我早些時候看到了此方法,但被忽略。它似乎與重定向工作正常,但我需要做更多的測試。但是,我應該使用ASP.NET的這種方法嗎?或者是否有任何Web替代方案? – BinaryHacker 2009-10-12 19:39:12
哎呀,對不起。它可以在ASP.NET中正常工作,但如果您不需要,則必須將System.Windows.Form包含在您的項目中,這將是一個恥辱。相反,您可以創建自己的委託並使用它代替MethodInvoker。我已經更新了上面的代碼示例。 – 2009-10-12 20:02:06
MethodInvoke只是一個已經爲您創建的代理,沒有參數或返回值,因此您不必花時間創建自己的代理。我們剛剛創建的ProcessCustomerInfoDelegate的工作方式完全相同。 – 2009-10-12 20:07:20