1
我想在MonoRail基礎控制器中執行異步操作。Castle MonoRail異步動作
文檔所以這是我做過什麼:
public IAsyncResult BeginUploadTags(HttpPostedFile xmlFile, Boolean doUpload)
{
if(IsPost)
{
IAsyncResult iAsyncResult = new AsyncDelegate(upload).BeginInvoke(queryResult, doUpload, ControllerContext.Async.Callback, ControllerContext.Async.State);
return iAsyncResult;
}
// TODO
// if IsPost is false do nothing but return a IAsyncResult object
}
public void EndUploadTags()
{
}
private delegate void AsyncDelegate(List<String> queryResult, Boolean doUpload);
private void upload(List<String> queryResult, Boolean doUpload)
{
// do upload stuff
}
但我需要做的,當IsPost是假的呢?
你可以簡單地返回一個完成的IAsyncResult(用空AsyncResult)類似於在其他描述,質疑一個完成的結果? (http://stackoverflow.com/questions/5037422/how-to-create-an-iasyncresult-that-immediately-completes) –
謝謝,這可能會工作。 – ZxCvBnM
很高興看到這對您有所幫助,我會將其作爲答案,以便人們也能清楚地看到它 –