﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Ori Peleg commented on Async Actions in Monorail</title><description>Just saw the reference to CompositeAsyncResult, I'll check it out :)
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment14</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment14</guid><pubDate>Tue, 01 Apr 2008 08:54:00 GMT</pubDate></item><item><title>Ori Peleg commented on Async Actions in Monorail</title><description>Awesome!
  
How can you chain several blocking operations and handlers between Begin and End? e.g.
  
  
process -&gt; (db query) -&gt; process -&gt; (web service) -&gt; process -&gt; response
  
  
Anything similar to "deferred" from Twisted? (http://twistedmatrix.com/projects/core/documentation/howto/defer.html)
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment13</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment13</guid><pubDate>Tue, 01 Apr 2008 08:44:04 GMT</pubDate></item><item><title>Ayende Rahien commented on Async Actions in Monorail</title><description>dimitrod,
  
The way this is handled in RegisterAsyncTask is complex, and highly dependent on the WebForms infrastructure.
  
Basically, they setup a time for this to catch this.
  
Yes, we can do that, but it is not trivial.
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment12</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment12</guid><pubDate>Sun, 30 Mar 2008 11:25:14 GMT</pubDate></item><item><title>lanwin commented on Async Actions in Monorail</title><description>I suggest this less verbos syntax:
  
  
public AsyncEndAction Index()
  
{
  
  IAsyncResult result =  userRepository.BeginGetUserInformation(CurrentUser, 
  
			ControllerContext.Async.Callback,
  
			ControllerContext.Async.State);
  
  
  return delegate
  
  {
  
    PropertyBag["userInfo"] = userRepository.EndGetUserInformation(result);
  
  }
  
}
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment11</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment11</guid><pubDate>Sat, 29 Mar 2008 19:27:18 GMT</pubDate></item><item><title>dimitrod commented on Async Actions in Monorail</title><description>Wow, that's impressing, can't wait to get it from the trunk. By the way is it possible to handle async timeouts like in the RegisterAsyncTask method?
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment10</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment10</guid><pubDate>Wed, 26 Mar 2008 15:33:34 GMT</pubDate></item><item><title>Ayende Rahien commented on Async Actions in Monorail</title><description>CompositeAsyncResult :-)
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment9</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment9</guid><pubDate>Wed, 26 Mar 2008 12:11:57 GMT</pubDate></item><item><title>Yuriy commented on Async Actions in Monorail</title><description>And what if I need to make two or more WS calls?
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment8</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment8</guid><pubDate>Wed, 26 Mar 2008 12:07:34 GMT</pubDate></item><item><title>Ayende Rahien commented on Async Actions in Monorail</title><description>The standard async invocation pattern on the CLR calls for the following method signatures:
  
  
BeginXyz(AsyncCallback callback, object state);
  
EndXyz(IAsyncResult ar);
  
  
  
You will see that in all the API that handles async actions
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment7</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment7</guid><pubDate>Wed, 26 Mar 2008 09:13:17 GMT</pubDate></item><item><title>Benny Thomas commented on Async Actions in Monorail</title><description>I'm maybe difficult today, but why do u not send in only the ControllerContext.Async to the repository on both calls and let it decide what it need from the Async object?
  
  
public IAsyncResult BeginIndex()
  
	{
  
		return userRepository.BeginGetUserInformation(CurrentUser, 
  
			ControllerContext.Async);
  
	}
  
  
	public void EndIndex()
  
	{
  
		PropertyBag["userInfo"] = userRepository.EndGetUserInformation(ControllerContext.Async);
  
	}
  
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment6</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment6</guid><pubDate>Wed, 26 Mar 2008 09:08:50 GMT</pubDate></item><item><title>Ayende Rahien commented on Async Actions in Monorail</title><description>Opps, that is a mistake, it is supposed to be:
  
  
return userRepository.BeginGetUserInf
  
ormation(CurrentUser,
  
                       ControllerContext.Async.Callback,
  
                       ControllerContext.Async.State);
  
  
A typo when writing the post. I fixed it, thanks for noticing
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment5</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment5</guid><pubDate>Wed, 26 Mar 2008 08:56:29 GMT</pubDate></item><item><title>Diego Guidi commented on Async Actions in Monorail</title><description>OMG this is awesome!
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment4</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment4</guid><pubDate>Wed, 26 Mar 2008 08:40:02 GMT</pubDate></item><item><title>Benny Thomas commented on Async Actions in Monorail</title><description>Why the need for 2 calls to ControllerContext.Async.Callback in BeginGetUserInformation?
  
  
return userRepository.BeginGetUserInformation(CurrentUser, 
  
			ControllerContext.Async.Callback,
  
			ControllerContext.Async.Callback);
  
  
Just a bug or something reasonable behind the consept?
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment3</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment3</guid><pubDate>Wed, 26 Mar 2008 08:22:16 GMT</pubDate></item><item><title>Chadly commented on Async Actions in Monorail</title><description>awesome to the max
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment2</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment2</guid><pubDate>Tue, 25 Mar 2008 23:30:25 GMT</pubDate></item><item><title>shawn commented on Async Actions in Monorail</title><description>This is a very promising new feature. Its things like this that I hope will continue to differentiate MonoRail from MS MVC.
</description><link>http://ayende.com/3213/async-actions-in-monorail#comment1</link><guid>http://ayende.com/3213/async-actions-in-monorail#comment1</guid><pubDate>Tue, 25 Mar 2008 22:42:45 GMT</pubDate></item></channel></rss>