这个system.threading.threadpool waitcallback.performwaitcallback()和其他方法做了什么?

时间:2011-10-28 00:59:44

标签: asp.net-mvc clr appdomain callstack

我正在调试.net mvc3应用程序。然后我打开了一个名为:call stack的输出窗口,比我看到很多东西....我用Google搜索并'msdned',但没有得到答案。可以请一些人告诉我以下方法有什么作用?非常感谢!你不需要告诉我列出的所有方法,而是你想到的一些“重要”方法。

ps:我的背景知识:我曾经读过“通过C#CLR”一书,还没有完全理解它。我对内存管理,GC,APP域等了解一点。基本的,你知道: )

编辑1 以下内容是从堆栈中粘贴的,所以,您可以从下到上解释一下,这是更直接的前进:)

编辑2 我知道这是一个“大问题”,您可能只是告诉我应该阅读哪些博客,网页或书籍以获得更多理解:)谢谢:)

System.Web.Mvc.Controller.RedirectToAction(string actionName, string controllerName, object routeValues) 
System.Web.Mvc.ActionMethodDispatcher.Execute(System.Web.Mvc.ControllerBase controller, object[] parameters)
System.Web.Mvc.ReflectedActionDescriptor.Execute(System.Web.Mvc.ControllerContext controllerContext,     System.Collections.Generic.IDictionary<string,object> parameters)
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ActionDescriptor actionDescriptor, System.Collections.Generic.IDictionary<string,object> parameters) 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters.AnonymousMethod__12() 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(System.Web.Mvc.IActionFilter filter, System.Web.Mvc.ActionExecutingContext preContext, System.Func<System.Web.Mvc.ActionExecutedContext> continuation) 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters.AnonymousMethod__14() 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(System.Web.Mvc.ControllerContext controllerContext, System.Collections.Generic.IList<System.Web.Mvc.IActionFilter> filters, System.Web.Mvc.ActionDescriptor actionDescriptor, System.Collections.Generic.IDictionary<string,object> parameters) 
System.Web.Mvc.ControllerActionInvoker.InvokeAction(System.Web.Mvc.ControllerContext controllerContext, string actionName) 
System.Web.Mvc.Controller.ExecuteCore() 
System.Web.Mvc.ControllerBase.Execute(System.Web.Routing.RequestContext requestContext) 
System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(System.Web.Routing.RequestContext requestContext) 
System.Web.Mvc.MvcHandler.BeginProcessRequest.AnonymousMethod__5() 
System.Web.Mvc.Async.AsyncResultWrapper.MakeVoidDelegate.AnonymousMethod__0()
System.Web.Mvc.Async.AsyncResultWrapper.BeginSynchronous<System.Web.Mvc.Async.AsyncVoid>.AnonymousMethod__7(System.IAsyncResult _) 
System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult<System.Web.Mvc.Async.AsyncVoid>.End()
System.Web.Mvc.MvcHandler.EndProcessRequest.AnonymousMethod__d() 
System.Web.Mvc.SecurityUtil.GetCallInAppTrustThunk.AnonymousMethod__0(System.Action f)
System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(System.Action action) 
System.Web.Mvc.MvcHandler.EndProcessRequest(System.IAsyncResult asyncResult) 
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(System.IAsyncResult result) 
System.Web.dll!System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
System.Web.dll!System.Web.HttpApplication.ExecuteStep(System.Web.HttpApplication.IExecutionStep step, ref bool completedSynchronously) +
System.Web.dll!System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(System.Exception error) System.Web.dll!System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(System.Web.HttpContext context, System.AsyncCallback cb, object extraData) +
System.Web.dll!System.Web.HttpRuntime.ProcessRequestInternal(System.Web.HttpWorkerRequest wr) +
System.Web.dll!System.Web.HttpRuntime.ProcessRequestNoDemand(System.Web.HttpWorkerRequest wr) + 
System.Web.dll!System.Web.HttpRuntime.ProcessRequest(System.Web.HttpWorkerRequest wr) + 
WebDev.WebHost40.dll!Microsoft.VisualStudio.WebHost.Request.Process() + 0x17b WebDev.WebHost40.dll!Microsoft.VisualStudio.WebHost.Host.ProcessRequest(Microsoft.VisualStudio.WebHost.Connection conn) +
WebDev.WebHost40.dll!Microsoft.VisualStudio.WebHost.Server.OnSocketAccept(object acceptedSocket) +  
mscorlib.dll!System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(object state) +    
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool ignoreSyncCtx) +   
mscorlib.dll!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() + 
mscorlib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch() + 
mscorlib.dll!System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() + 0x2d

0 个答案:

没有答案