gpt4 book ai didi

c# - 在启动我的 MVC3 应用程序时,在 mscorlib.dll 中出现 "An unhandled exception of type ' System.StackOverflowException”?

转载 作者:行者123 更新时间:2023-11-30 13:04:18 24 4
gpt4 key购买 nike

我无法捕捉到这里发生的事情。我的 global.asax 文件中没有任何奇特的东西,但我现在根本无法在我的本地 IIS Express 服务器上启动我的 MVC3 应用程序:

public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}

public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
"Paginate",
"{controller}/Paginate/{itemsPerPage}/{pageNumber}/{searchPhrase}", //URL with parameters
new { controller = "Home", action = "Paginate", itemsPerPage = Configuration.DefaultPageSize, pageNumber = 1, searchPhrase = UrlParameter.Optional },
new { itemsPerPage = @"\d+", pageNumber = @"\d+" }
);

routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}

protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
}

异常在 RegisterGlobalFilters(GlobalFilters.Filters); 处捕获,但如果我将其注释掉,它将在 AreaRegistration.RegisterAllAreas(); 处发生。如果我将两者都注释掉,它会发生在 RegisterRoutes(RouteTable.Routes); 处。我该如何解决这个问题?我无法放置会捕获的断点!

更新:这是我捕获的调用堆栈:

这是通过启用所有三个:

mscorlib.dll!System.Reflection.RuntimeModule.GetTypes() + 0x5 bytes 
mscorlib.dll!System.Reflection.Assembly.GetTypes() + 0x4f bytes
System.Web.Mvc.dll!System.Web.Mvc.TypeCacheUtil.FilterTypesInAssemblies(System.Web.Mvc.IBuildManager buildManager, System.Predicate<System.Type> predicate) + 0xa5 bytes
System.Web.Mvc.dll!System.Web.Mvc.TypeCacheUtil.GetFilteredTypesFromAssemblies(string cacheName = "MVC-AreaRegistrationTypeCache.xml", System.Predicate<System.Type> predicate, System.Web.Mvc.IBuildManager buildManager = {System.Web.Mvc.BuildManagerWrapper}) + 0x40 bytes
System.Web.Mvc.dll!System.Web.Mvc.AreaRegistration.RegisterAllAreas(System.Web.Routing.RouteCollection routes = Count = Cannot evaluate expression because the current thread is in a stack overflow state., System.Web.Mvc.IBuildManager buildManager, object state = null) + 0x57 bytes
System.Web.Mvc.dll!System.Web.Mvc.AreaRegistration.RegisterAllAreas(object state) + 0x2e bytes
System.Web.Mvc.dll!System.Web.Mvc.AreaRegistration.RegisterAllAreas() + 0x7 bytes
>GHM.DFP.AdminUI.DLL!GHM.DFP.AdminUI.MvcApplication.Application_Start() Line 36 C#
[Native to Managed Transition]
System.Web.dll!System.Web.HttpApplication.InvokeMethodWithAssert(System.Reflection.MethodInfo method, int paramCount, object eventSource, System.EventArgs eventArgs) + 0x3c bytes
System.Web.dll!System.Web.HttpApplication.ProcessSpecialRequest(System.Web.HttpContext context = {System.Web.HttpContext}, System.Reflection.MethodInfo method, int paramCount, object eventSource, System.EventArgs eventArgs, System.Web.SessionState.HttpSessionState session) + 0xef bytes
System.Web.dll!System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(System.Web.HttpContext context = {System.Web.HttpContext}, System.Web.HttpApplication app) + 0x13e bytes
System.Web.dll!System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(System.IntPtr appContext = 723127104, System.Web.HttpContext context = {System.Web.HttpContext}, System.Reflection.MethodInfo[] handlers) + 0x84 bytes
System.Web.dll!System.Web.HttpApplication.InitSpecial(System.Web.HttpApplicationState state, System.Reflection.MethodInfo[] handlers, System.IntPtr appContext = 723127104, System.Web.HttpContext context) + 0xc3 bytes
System.Web.dll!System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(System.IntPtr appContext, System.Web.HttpContext context) + 0x154 bytes
System.Web.dll!System.Web.Hosting.PipelineRuntime.InitializeApplication(System.IntPtr appContext = 723127104) + 0xfe bytes
[Appdomain Transition]
[Native to Managed Transition]
webengine4.dll!RegisterModule() + 0x3740 bytes
[Frames below may be incorrect and/or missing, no symbols loaded for webengine4.dll]
webengine4.dll!RegisterModule() + 0x47e bytes
iiscore.dll!01d328cd()
iiscore.dll!01d1a777()
iiscore.dll!01d33247()
iiscore.dll!01d334c2()
iiscore.dll!01d25d67()
iiscore.dll!01d26196()
iiscore.dll!01d2686c()
iiscore.dll!01d26d04()
w3dt.dll!HTTP_WRAPPER::QueryState() + 0x17fc bytes
w3dt.dll!HTTP_WRAPPER::QueryState() + 0x23 bytes
w3tp.dll!THREAD_POOL::PostCompletion() + 0xd6 bytes
w3tp.dll!THREAD_POOL::TerminateThreadPool() + 0xa5 bytes
w3tp.dll!0f311f55()
kernel32.dll!BaseThreadInitThunk() + 0x12 bytes
ntdll.dll!RtlInitializeExceptionChain() + 0xef bytes
ntdll.dll!RtlInitializeExceptionChain() + 0xc2 bytes

我禁用了 AreaRegistration.RegisterAllAreas(),这就是我得到的:

mscorlib.dll!System.Reflection.RuntimeModule.GetTypes() + 0x5 bytes 
mscorlib.dll!System.Reflection.Assembly.GetTypes() + 0x4f bytes
System.Web.Mvc.dll!System.Web.Mvc.TypeCacheUtil.FilterTypesInAssemblies(System.Web.Mvc.IBuildManager buildManager, System.Predicate<System.Type> predicate) + 0xa5 bytes
System.Web.Mvc.dll!System.Web.Mvc.TypeCacheUtil.GetFilteredTypesFromAssemblies(string cacheName = "MVC-ControllerTypeCache.xml", System.Predicate<System.Type> predicate, System.Web.Mvc.IBuildManager buildManager = {System.Web.Mvc.BuildManagerWrapper}) + 0x40 bytes
System.Web.Mvc.dll!System.Web.Mvc.ControllerTypeCache.EnsureInitialized(System.Web.Mvc.IBuildManager buildManager) + 0x80 bytes
System.Web.Mvc.dll!System.Web.Mvc.DefaultControllerFactory.GetControllerTypeWithinNamespaces(System.Web.Routing.RouteBase route = {System.Web.Routing.Route}, string controllerName = "Home", System.Collections.Generic.HashSet<string> namespaces = null) + 0x4d bytes
System.Web.Mvc.dll!System.Web.Mvc.DefaultControllerFactory.GetControllerType(System.Web.Routing.RequestContext requestContext, string controllerName) + 0x234 bytes
System.Web.Mvc.dll!System.Web.Mvc.DefaultControllerFactory.System.Web.Mvc.IControllerFactory.GetControllerSessionBehavior(System.Web.Routing.RequestContext requestContext = {System.Web.Routing.RequestContext}, string controllerName) + 0x3e bytes
System.Web.Mvc.dll!System.Web.Mvc.MvcRouteHandler.GetSessionStateBehavior(System.Web.Routing.RequestContext requestContext) + 0x7d bytes
System.Web.Mvc.dll!System.Web.Mvc.MvcRouteHandler.GetHttpHandler(System.Web.Routing.RequestContext requestContext = {System.Web.Routing.RequestContext}) + 0x2a bytes
System.Web.Mvc.dll!System.Web.Mvc.MvcRouteHandler.System.Web.Routing.IRouteHandler.GetHttpHandler(System.Web.Routing.RequestContext requestContext) + 0xb bytes
System.Web.dll!System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(System.Web.HttpContextBase context = {System.Web.HttpContextWrapper}) + 0x108 bytes
System.Web.dll!System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(object sender, System.EventArgs e) + 0x57 bytes
System.Web.dll!System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() + 0x95 bytes
System.Web.dll!System.Web.HttpApplication.ExecuteStep(System.Web.HttpApplication.IExecutionStep step = {System.Web.HttpApplication.SyncEventExecutionStep}, ref bool completedSynchronously = false) + 0x4c bytes
System.Web.dll!System.Web.HttpApplication.PipelineStepManager.ResumeSteps(System.Exception error) + 0x39f bytes
System.Web.dll!System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext context, System.AsyncCallback cb) + 0x5a bytes
System.Web.dll!System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest wr = {System.Web.Hosting.IIS7WorkerRequest}, System.Web.HttpContext context = {System.Web.HttpContext}) + 0xbe bytes
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(System.IntPtr managedHttpContext, System.IntPtr nativeRequestContext = 730752100, System.IntPtr moduleData, int flags) + 0x247 bytes
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(System.IntPtr managedHttpContext, System.IntPtr nativeRequestContext, System.IntPtr moduleData, int flags) + 0x29 bytes
webengine4.dll!RegisterModule() + 0x19b7 bytes
[Frames below may be incorrect and/or missing, no symbols loaded for webengine4.dll]
webengine4.dll!RegisterModule() + 0x25e8 bytes
webengine4.dll!MgdGetServerVariableA() + 0x2fd6 bytes
webengine4.dll!MgdGetServerVariableA() + 0x3485 bytes
iiscore.dll!005f086a()
iiscore.dll!005f1724()
iiscore.dll!005de053()
iiscore.dll!005e0779()
iiscore.dll!005e2cd6()
iisfreb.dll!RegisterModule() + 0x1870 bytes
iiscore.dll!005e0f63()
webengine4.dll!MgdReleaseNativeConfigSystem() + 0x9e bytes
webengine4.dll!MgdIndicateCompletion() + 0x24 bytes
[Managed to Native Transition]
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(System.IntPtr managedHttpContext, System.IntPtr nativeRequestContext, System.IntPtr moduleData, int flags) + 0x2cc bytes
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(System.IntPtr managedHttpContext, System.IntPtr nativeRequestContext, System.IntPtr moduleData, int flags) + 0x29 bytes
[Appdomain Transition]
webengine4.dll!RegisterModule() + 0x19b7 bytes
webengine4.dll!MgdGetServerVariableA() + 0x2cc0 bytes
kernel32.dll!BaseThreadInitThunk() + 0x12 bytes
ntdll.dll!RtlInitializeExceptionChain() + 0xef bytes
ntdll.dll!RtlInitializeExceptionChain() + 0xc2 bytes

注释掉 RegisterGlobalFilters(GlobalFilters.Filters) 让我得到这个:

mscorlib.dll!System.Reflection.RuntimeModule.GetTypes() + 0x5 bytes 
mscorlib.dll!System.Reflection.Assembly.GetTypes() + 0x4f bytes
System.Web.Mvc.dll!System.Web.Mvc.TypeCacheUtil.FilterTypesInAssemblies(System.Web.Mvc.IBuildManager buildManager, System.Predicate<System.Type> predicate) + 0xa5 bytes
System.Web.Mvc.dll!System.Web.Mvc.TypeCacheUtil.GetFilteredTypesFromAssemblies(string cacheName = "MVC-ControllerTypeCache.xml", System.Predicate<System.Type> predicate, System.Web.Mvc.IBuildManager buildManager = {System.Web.Mvc.BuildManagerWrapper}) + 0x40 bytes
System.Web.Mvc.dll!System.Web.Mvc.ControllerTypeCache.EnsureInitialized(System.Web.Mvc.IBuildManager buildManager) + 0x80 bytes
System.Web.Mvc.dll!System.Web.Mvc.DefaultControllerFactory.GetControllerTypeWithinNamespaces(System.Web.Routing.RouteBase route = {System.Web.Routing.Route}, string controllerName = "Home", System.Collections.Generic.HashSet<string> namespaces = null) + 0x4d bytes
System.Web.Mvc.dll!System.Web.Mvc.DefaultControllerFactory.GetControllerType(System.Web.Routing.RequestContext requestContext, string controllerName) + 0x234 bytes
System.Web.Mvc.dll!System.Web.Mvc.DefaultControllerFactory.System.Web.Mvc.IControllerFactory.GetControllerSessionBehavior(System.Web.Routing.RequestContext requestContext = {System.Web.Routing.RequestContext}, string controllerName) + 0x3e bytes
System.Web.Mvc.dll!System.Web.Mvc.MvcRouteHandler.GetSessionStateBehavior(System.Web.Routing.RequestContext requestContext) + 0x7d bytes
System.Web.Mvc.dll!System.Web.Mvc.MvcRouteHandler.GetHttpHandler(System.Web.Routing.RequestContext requestContext = {System.Web.Routing.RequestContext}) + 0x2a bytes
System.Web.Mvc.dll!System.Web.Mvc.MvcRouteHandler.System.Web.Routing.IRouteHandler.GetHttpHandler(System.Web.Routing.RequestContext requestContext) + 0xb bytes
System.Web.dll!System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(System.Web.HttpContextBase context = {System.Web.HttpContextWrapper}) + 0x108 bytes
System.Web.dll!System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(object sender, System.EventArgs e) + 0x57 bytes
System.Web.dll!System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() + 0x95 bytes
System.Web.dll!System.Web.HttpApplication.ExecuteStep(System.Web.HttpApplication.IExecutionStep step = {System.Web.HttpApplication.SyncEventExecutionStep}, ref bool completedSynchronously = false) + 0x4c bytes
System.Web.dll!System.Web.HttpApplication.PipelineStepManager.ResumeSteps(System.Exception error) + 0x39f bytes
System.Web.dll!System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext context, System.AsyncCallback cb) + 0x5a bytes
System.Web.dll!System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest wr = {System.Web.Hosting.IIS7WorkerRequest}, System.Web.HttpContext context = {System.Web.HttpContext}) + 0xbe bytes
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(System.IntPtr managedHttpContext, System.IntPtr nativeRequestContext = 730145292, System.IntPtr moduleData, int flags) + 0x247 bytes
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(System.IntPtr managedHttpContext, System.IntPtr nativeRequestContext, System.IntPtr moduleData, int flags) + 0x29 bytes
webengine4.dll!RegisterModule() + 0x19b7 bytes
[Frames below may be incorrect and/or missing, no symbols loaded for webengine4.dll]
webengine4.dll!RegisterModule() + 0x25e8 bytes
webengine4.dll!MgdGetServerVariableA() + 0x2fd6 bytes
webengine4.dll!MgdGetServerVariableA() + 0x3485 bytes
iiscore.dll!0fcd086a()
iiscore.dll!0fcd1724()
iiscore.dll!0fcbe053()
iiscore.dll!0fcc0779()
iiscore.dll!0fcc2cd6()
iisfreb.dll!RegisterModule() + 0x1870 bytes
iiscore.dll!0fcc0f63()
webengine4.dll!MgdReleaseNativeConfigSystem() + 0x9e bytes
webengine4.dll!MgdIndicateCompletion() + 0x24 bytes
[Managed to Native Transition]
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(System.IntPtr managedHttpContext, System.IntPtr nativeRequestContext, System.IntPtr moduleData, int flags) + 0x2cc bytes
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(System.IntPtr managedHttpContext, System.IntPtr nativeRequestContext, System.IntPtr moduleData, int flags) + 0x29 bytes
[Appdomain Transition]
webengine4.dll!RegisterModule() + 0x19b7 bytes
webengine4.dll!MgdGetServerVariableA() + 0x2cc0 bytes
kernel32.dll!BaseThreadInitThunk() + 0x12 bytes
ntdll.dll!RtlInitializeExceptionChain() + 0xef bytes
ntdll.dll!RtlInitializeExceptionChain() + 0xc2 bytes

最佳答案

经过大约 6 个小时的挫折,我最终放弃了。我将我所有的代码移植到一个新的 MVC 应用程序中,并且成功了。去图吧。

关于c# - 在启动我的 MVC3 应用程序时,在 mscorlib.dll 中出现 "An unhandled exception of type ' System.StackOverflowException”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9795001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com