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
很高兴看到这对您有所帮助,我会将其作为答案,以便人们也能清楚地看到它 –