C# Mvc3-如何从静态函数调用操作

C# Mvc3-如何从静态函数调用操作,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个静态函数,我需要使用参数调用特定的控制器/操作,并获得结果。 如何做到这一点?您可以创建该特定控制器的实例,然后使用该实例的Execute方法来执行控制器 我在应用程序错误处理程序中执行类似操作: var routeData = new RouteData(); routeData.Values["controller"] = "Error"; routeData.Values["action"] = "General"; routeData.Values["exception"] =

我有一个静态函数,我需要使用参数调用特定的控制器/操作,并获得结果。
如何做到这一点?

您可以创建该特定控制器的实例,然后使用该实例的Execute方法来执行控制器

我在应用程序错误处理程序中执行类似操作:

var routeData = new RouteData();
routeData.Values["controller"] = "Error";
routeData.Values["action"] = "General";
routeData.Values["exception"] = exception;

IController errorsController = new ErrorController();
var rc = new RequestContext(new HttpContextWrapper(Context), routeData);
try
{
    errorsController.Execute(rc);
}
catch (Exception ex)
{
    // Appropriate error handling.
}

静态函数在哪里?在要调用的控制器中?如果不是。。您将实例化一个新实例..当前位于同一控制器内,但在一般情况下可以是outside@ZombieHunter如果它不是静态的,会有区别吗???请详细说明。你想在没有实际请求的情况下执行一个操作吗?这是因为当请求传入时,你有一个控制器实例及其附带的所有额外功能。通过静止,你似乎失去了这个背景。