in Asp.Net MVC if I decorate an action method with attribute NonAction then it wont be allowed to be called by the user visiting the site.
same happens when I make it private
So whats the difference between the two and is there a special purpose for which NonAction attribute has been made?
For example whats the difference between
[NonAction]
public ActionResult SomeAction(){}
And
private ActionResult SomeAction(){}
in the context of asp.net MVC of course I know one is public and the other one is private
That’s the only difference. The attribute is used when you want a method that has a signature that would make it an action, but that you don’t want to be an action.
An example for a use for that is a method that action methods call to produce the
ActionResultfor them:The reason to make it public instead of private would be so that actions in other controllers could also use it.