【问题标题】:Castle MonoRail async actionCastle MonoRail 异步操作
【发布时间】:2012-10-24 12:37:16
【问题描述】:

我想在 MonoRail 基础控制器中进行异步操作。

我阅读了有关异步操作的文档 http://docs.castleproject.org/Default.aspx?Page=Controllers&NS=MonoRail&AspxAutoDetectCookieSupport=1#Asynchronous_Actions_1

这就是我所做的:

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 为 false 时我需要做什么?

【问题讨论】:

  • 您能否简单地返回一个类似于另一个 SO 问题中描述的完整 IAsyncResult(带有空 AsyncResult)? (stackoverflow.com/questions/5037422/…)
  • 谢谢,这可能会奏效。
  • 很高兴看到这对你有帮助,我会把它变成一个答案,这样人们也能清楚地看到它

标签: asynchronous action castle-monorail


【解决方案1】:

您需要返回一个完整的 IAsyncResult(带有空 AsyncResult 值)。

您可以创建类似于this SO question 的完整结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2023-03-16
    • 1970-01-01
    • 2010-09-22
    相关资源
    最近更新 更多