2010-10-17 9 views
5

Bei der Implementierung von ASP.NET MVC AsyncController muss die xxxCompleted-Methode Public sein. Ich frage mich, ob dies bedeutet, dass die xxxCompleted-Methode direkt aufgerufen werden kann, oder wenn dies intern mit NonAction oder etwas ähnlichem geschützt wird?ASP.NET MVC AsyncController xxxCompleted

Danke.

Antwort

2

Intern (und vereinfacht) gibt es ein Array von MethodInfo der Aktionen auf dem asynchronen Controller konstruiert. Wenn es erstellt wird, werden die Suffixe Async und Completed von den Namen der Aktionsmethoden entfernt.

Wenn Sie versuchen, einen Anruf eine Aktionsmethode wie IndexCompleted dieses Array gesucht wird, sondern weil es keine IndexCompleted im Array ist (weil die Suffixe entfernt wurden) die AsyncControllerActionInvoker berichtet, dass keine Aktion gefunden wurde.

Es lohnt sich einen Poke um den Quellcode mit sich selbst, um zu sehen:

ASP.NET MVC 2 RTM on CodePlex