<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: MVC vs MonoRail &#8211; Action Methods</title>
	<atom:link href="http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/</link>
	<description>Daniel Hoelbling talks about programming</description>
	<lastBuildDate>Tue, 31 Jan 2012 08:32:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<item>
		<title>By: reverse directory</title>
		<link>http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/comment-page-1/#comment-5497</link>
		<dc:creator>reverse directory</dc:creator>
		<pubDate>Sat, 24 Dec 2011 04:17:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/#comment-5497</guid>
		<description>Keep up the great work - it is a must have for all </description>
		<content:encoded><![CDATA[<p>Keep up the great work &#8211; it is a must have for all </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Hölbling</title>
		<link>http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/comment-page-1/#comment-3275</link>
		<dc:creator>Daniel Hölbling</dc:creator>
		<pubDate>Thu, 27 Aug 2009 21:56:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/#comment-3275</guid>
		<description>Hi Phil,

I agree with you, although I doubt that anybody is using more than 2 HttpVerbs on a standard Data input form. 
While reading through the MVC source (literally 30 seconds ago) I found out that the Exception only occurs if &gt; 1 method remains after filtering.
I&#039;ll update the post tomorrow (it&#039;s 0:00 in Austria)

Now, for why I wrote this post in the first place:

I wanted to have a page that lists all users of a site, and the ability to search for names:

public ActionResult List();
public ActionResult List(string query);

Since the first would just invoke GetAll() and the latter a query with a Like clause, I&#039;d like to have those in two different methods instead of one with a if statement when using nullable types. 

Anyway, thanks for your comment.</description>
		<content:encoded><![CDATA[<p>Hi Phil,</p>
<p>I agree with you, although I doubt that anybody is using more than 2 HttpVerbs on a standard Data input form.<br />
While reading through the MVC source (literally 30 seconds ago) I found out that the Exception only occurs if > 1 method remains after filtering.<br />
I&#8217;ll update the post tomorrow (it&#8217;s 0:00 in Austria)</p>
<p>Now, for why I wrote this post in the first place:</p>
<p>I wanted to have a page that lists all users of a site, and the ability to search for names:</p>
<p>public ActionResult List();<br />
public ActionResult List(string query);</p>
<p>Since the first would just invoke GetAll() and the latter a query with a Like clause, I&#8217;d like to have those in two different methods instead of one with a if statement when using nullable types. </p>
<p>Anyway, thanks for your comment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Haacked</title>
		<link>http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/comment-page-1/#comment-3274</link>
		<dc:creator>Haacked</dc:creator>
		<pubDate>Thu, 27 Aug 2009 21:43:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/#comment-3274</guid>
		<description>Heh. :) Hammet suggested that we do the same heuristic based overload resolution like Monorail does but we decided against it for now. We wanted to do the simplest thing that works. It keeps the code simpler and the behavior easier to understand, in my opinion. For example, you might add a new hidden input to the form for some reason and suddenly a form submission is calling another action method you didn&#039;t expect.

However, I&#039;m always open to suggestions for improvement. You&#039;ve described a neat feature, but you haven&#039;t sold me on why it&#039;s important or necessary. :)

After all, you can pretty much get the same result with: 

public ActionResult Index(int? id, string name)   
{   
  return View();   
}

Also, you were innacurate about MVC. You can have more than two overloads. After all, there are more than 2 HTTP Verbs, right? :)

If you only use AcceptVerbsAttribute, you can have an action method per HTTP verb. There are four standard verbs, but many more than that.

Also, AcceptVerbsAttribute derives from ActionMethodSelectorAttribute. You could write your own attribute that derives from ActionMethodSelectorAttribute and implement any number of overloads of an action method, as long as one action method is selected for a given request.</description>
		<content:encoded><![CDATA[<p>Heh. <img src='http://www.tigraine.at/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Hammet suggested that we do the same heuristic based overload resolution like Monorail does but we decided against it for now. We wanted to do the simplest thing that works. It keeps the code simpler and the behavior easier to understand, in my opinion. For example, you might add a new hidden input to the form for some reason and suddenly a form submission is calling another action method you didn&#8217;t expect.</p>
<p>However, I&#8217;m always open to suggestions for improvement. You&#8217;ve described a neat feature, but you haven&#8217;t sold me on why it&#8217;s important or necessary. <img src='http://www.tigraine.at/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>After all, you can pretty much get the same result with: </p>
<p>public ActionResult Index(int? id, string name)<br />
{<br />
  return View();<br />
}</p>
<p>Also, you were innacurate about MVC. You can have more than two overloads. After all, there are more than 2 HTTP Verbs, right? <img src='http://www.tigraine.at/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If you only use AcceptVerbsAttribute, you can have an action method per HTTP verb. There are four standard verbs, but many more than that.</p>
<p>Also, AcceptVerbsAttribute derives from ActionMethodSelectorAttribute. You could write your own attribute that derives from ActionMethodSelectorAttribute and implement any number of overloads of an action method, as long as one action method is selected for a given request.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Hölbling</title>
		<link>http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/comment-page-1/#comment-3053</link>
		<dc:creator>Daniel Hölbling</dc:creator>
		<pubDate>Thu, 13 Aug 2009 10:17:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/#comment-3053</guid>
		<description>I don&#039;t think you can say that.

MonoRail&#039;s documentation is rather lacking and there are many questions that have to be asked before you know everything. 

The graph just illustrates how much more traction ASP.NET MVC has in the community than MonoRail. 

:D

It&#039;s like with most things MS does. They come years late to the party, but once they decide it&#039;s going to be their way they get behind it with all their enourmous manpower and surpass them. 

greetings Daniel</description>
		<content:encoded><![CDATA[<p>I don&#8217;t think you can say that.</p>
<p>MonoRail&#8217;s documentation is rather lacking and there are many questions that have to be asked before you know everything. </p>
<p>The graph just illustrates how much more traction ASP.NET MVC has in the community than MonoRail. </p>
<p> <img src='http://www.tigraine.at/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>It&#8217;s like with most things MS does. They come years late to the party, but once they decide it&#8217;s going to be their way they get behind it with all their enourmous manpower and surpass them. </p>
<p>greetings Daniel</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Carter</title>
		<link>http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/comment-page-1/#comment-3049</link>
		<dc:creator>Chris Carter</dc:creator>
		<pubDate>Thu, 13 Aug 2009 04:00:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/#comment-3049</guid>
		<description>Really though, your graph on monorail vs microsoft potentially says that monorail is BETTER than asp.net mvc, right? A framework that&#039;s so good, no questions even need to be asked?? :)</description>
		<content:encoded><![CDATA[<p>Really though, your graph on monorail vs microsoft potentially says that monorail is BETTER than asp.net mvc, right? A framework that&#8217;s so good, no questions even need to be asked?? <img src='http://www.tigraine.at/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tigraine &#187; Blog Archive &#187; DefaultValue attribute for Castle MonoRail</title>
		<link>http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/comment-page-1/#comment-2921</link>
		<dc:creator>Tigraine &#187; Blog Archive &#187; DefaultValue attribute for Castle MonoRail</dc:creator>
		<pubDate>Tue, 04 Aug 2009 10:09:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.tigraine.at/2009/07/31/mvc-vs-monorail-action-methods/#comment-2921</guid>
		<description>[...] is much smarter about action methods than MVC so there are already things going on with default values through routing etc. But this [...]</description>
		<content:encoded><![CDATA[<p>[...] is much smarter about action methods than MVC so there are already things going on with default values through routing etc. But this [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

