1

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 の場合はどうすればよいでしょうか?

4

1 に答える 1

0

完全な IAsyncResult (AsyncResult 値が null) を返す必要があります。

このSOの質問のような完成した結果を作成できます

于 2012-10-30T21:10:21.050 に答える