<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Using Asynchronous Methods in ASP.NET MVC 4</title><link>http://www.asp.net</link><pubDate>Mon, 10 Jun 2013 10:30:41 GMT</pubDate><generator>umbraco</generator><description>Comments for Using Asynchronous Methods in ASP.NET MVC 4</description><language>en</language><atom:link href="http://www.asp.net/rss/comments/39023" rel="self" type="application/rss+xml" /><item><title>Comment Posted by dizzyguy</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Tue, 03 Jul 2012 08:50:18 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000015895</guid><description><![CDATA[ <p>Exactly the kind of tutorial I needed.  Time to give it a go!</p>]]></description><enclosure length="0" type="image/png" url="http://i2.asp.net/avatar/dizzyguy.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by venkateswaranr</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Thu, 02 Aug 2012 02:38:45 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000016098</guid><description><![CDATA[ <p>I thought it is something I will never get to know.  You made it simple.  Thanks</p>]]></description><enclosure length="0" type="image/png" url="http://i3.asp.net/avatar/venkateswaranr.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by jciliberti</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Mon, 13 Aug 2012 00:31:42 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000016156</guid><description><![CDATA[ <p>Hi Rick,</p><p></p><p>Have you actually tested this under load? </p><p>I have been testing it and I find the Async Actions are much slower. In my test I have 2 Win Server 2012 servers each with 4 CPUs. I have one set up running a simple web API with an actions that sleeps for 1 second. The other server is set up with a MVC 4 app that calls the Web service on the other machine several times. I have two actions one set up as Async and the other normal. I have set up a 2 load tests. One always calls the Async version, the other calls the normal one. For the normal test the response times are about the same no matter how many users. For Async I start to see degradation after 4 concurrent users. Response times increase in a linear fashion as more users are added.</p><p>My advice is to stay away from async actions unless you have a real need. And then test test test to see if you get any benefit. If you start using this stuff for the hell of it, you will be in for a world of hurt. </p><p></p>]]></description><enclosure length="0" type="image/png" url="http://i1.asp.net/avatar/jciliberti.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by RakeshYadav</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Fri, 24 Aug 2012 17:17:02 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000016279</guid><description><![CDATA[ <p>A very useful article. Very systematic and indepth with simplyfied approach. Thank you Rick..... i would like to read more and more article on MVC.</p><p></p><p>Thank you very much</p><p>Rakesh</p>]]></description><enclosure length="0" type="image/png" url="http://i2.asp.net/avatar/RakeshYadav.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by ricka6</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Tue, 28 Aug 2012 15:23:50 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000016330</guid><description><![CDATA[ <p>@jciliberti test under load.</p><p>I agree you need to test your app to verify the additional complexity is worth the effort.</p>]]></description><enclosure length="0" type="image/png" url="http://i1.asp.net/avatar/ricka6.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by lcd</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Mon, 10 Sep 2012 17:38:00 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000016409</guid><description><![CDATA[ <p>Who can tell me what the following sentences mean.</p><p>When you’re doing asynchronous work, you’re not always using a thread. For example, when you make an asynchronous web service request, ASP.NET will not be using any threads between the async method call and the await.  Using the thread pool to service requests with high latency can lead to a large memory footprint and poor utilization of the server hardware.</p>]]></description><enclosure length="0" type="image/png" url="http://i1.asp.net/avatar/lcd.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by tayebi</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Thu, 27 Sep 2012 01:09:59 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000016532</guid><description><![CDATA[ <p>it&#39;s awesome. Thank you</p>]]></description><enclosure length="0" type="image/png" url="http://i3.asp.net/avatar/tayebi.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by davegrove</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Thu, 25 Oct 2012 09:50:16 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000016679</guid><description><![CDATA[ <p>Hi Rick,</p><p></p><p>Found that the article really useful. Thanks very much.</p><p></p><p>I have a small concern about suffixing action names with &quot;Async&quot;: if you follow this convention then unless your view names have the &quot;Async&quot; suffix you&#39;ll need to specify the view name when returning a view result.</p><p></p><p>Suffixing the name of a view with Async feels a bit strange. Any comments warmly welcomed.</p><p></p><p>Thanks,</p><p>Dave</p>]]></description><enclosure length="0" type="image/png" url="http://i3.asp.net/avatar/davegrove.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by ricka6</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Wed, 14 Nov 2012 21:14:15 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000016804</guid><description><![CDATA[ <p>@davegrove &quot;: if you follow this convention then unless your view names have the &quot;Async&quot; suffix you&#39;ll need to specify the view name when returning a view result.</p><p></p><p>I agree. The convention for .Net programming is to use the &quot;Async&quot; suffix but that makes for ugly view names. </p>]]></description><enclosure length="0" type="image/png" url="http://i1.asp.net/avatar/ricka6.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by dob_xml</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Fri, 07 Dec 2012 08:16:53 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000016960</guid><description><![CDATA[ <p>By using an async controller am I losing access to anything that I would have had when using a regular controller e.g. HttpContext.Current</p><p></p><p>And if so are there recommended patterns to overcome?</p>]]></description><enclosure length="0" type="image/png" url="http://i2.asp.net/avatar/dob_xml.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by Stewa11</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Tue, 08 Jan 2013 17:39:05 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000017138</guid><description><![CDATA[ <p>A great piece of work, but what do we do if we are stuck with VS 2012 4.0 for a while longer?</p>]]></description><enclosure length="0" type="image/png" url="http://i3.asp.net/avatar/Stewa11.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by biggreycat</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Fri, 11 Jan 2013 16:35:36 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000018162</guid><description><![CDATA[ <p>Hi Rick,</p><p></p><p> I think only a MVC action with at least one I/O bound (or network bound) operation and at least nother operations which can be executed in parallel with the I/O bound operation. Otherwise the performance can not be improved. So the performance of GetGizmosAsync in your article can not be improved while the performance of PWGasync can be improved.</p><p></p><p> Please let me know if I am wrong.</p><p></p><p>Limin</p>]]></description><enclosure length="0" type="image/png" url="http://i3.asp.net/avatar/biggreycat.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by biggreycat</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Fri, 11 Jan 2013 16:39:53 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000018163</guid><description><![CDATA[ <p>To make my previous comments clearer. No matter whether the action is CPU intensive or IO intensive, as long as the action can be finished in parallel. The performance of the task can be improved. </p>]]></description><enclosure length="0" type="image/png" url="http://i3.asp.net/avatar/biggreycat.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by ricka6</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Wed, 13 Feb 2013 20:59:13 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000018426</guid><description><![CDATA[ <p>@Stewa11: By using an async controller am I losing access to anything</p><p>No, there is only one controller in MVC now, the async controller.</p><p></p><p>@biggreycat  network/IO parallel improve perf</p><p>There is a big improvement in response time for parallel operations. WHen there is only one I/O or network call, the user doesn&#39;t see any difference, but the server can be more efficient. </p>]]></description><enclosure length="0" type="image/png" url="http://i1.asp.net/avatar/ricka6.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by ricka6</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Wed, 13 Feb 2013 21:00:29 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000018427</guid><description><![CDATA[ <p>@Stewa11  VS10</p><p>All of this works in VS10</p>]]></description><enclosure length="0" type="image/png" url="http://i1.asp.net/avatar/ricka6.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by anjankant</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Wed, 03 Apr 2013 07:49:45 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000018841</guid><description><![CDATA[ <p>Thanks! very helpful to understand Asynchronous Controller in ASP.NET MVC.</p>]]></description><enclosure length="0" type="image/png" url="http://i2.asp.net/avatar/anjankant.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by anjankant</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Wed, 03 Apr 2013 07:55:17 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000018842</guid><description><![CDATA[ <p>To understand more on Asynchronous Methods in ASP.NET MVC 4 you can visit the link <a rel="nofollow" href="http://msdn.microsoft.com/en-us/library/ee728598%28v=vs.100%29.aspx" target="_blank">msdn.microsoft.com/</a>#performing_multiple_operations_in_parallel</p>]]></description><enclosure length="0" type="image/png" url="http://i2.asp.net/avatar/anjankant.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item><item><title>Comment Posted by uri</title><link>http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4</link><pubDate>Mon, 10 Jun 2013 10:30:41 GMT</pubDate><guid isPermaLink="false">00000000-0000-0000-0000000019274</guid><description><![CDATA[ <p>Thanks for the post, what happens if I have a long method and I close the browser before it completes? does it still finish?</p><p>I am building some reports and I don&#39;t care to wait until these are done, but just want to fire the process and then come back to get them.</p><p></p><p>If I use async and await and I close the browser, do I lose the processing instance?</p>]]></description><enclosure length="0" type="image/png" url="http://i1.asp.net/avatar/uri.jpg?forceidenticon=false&amp;dt=635072182200000000&amp;enableAvatar=False&amp;cdn_id=2013-05-10-001" /></item></channel></rss>