【问题标题】:Syntax error in global.asaxglobal.asax 中的语法错误
【发布时间】:2012-12-06 06:03:27
【问题描述】:

我的 global.asax 文件中有以下代码(在我的 asp.net 应用程序中)...

我在堆栈跟踪中有以下错误:

[NullReferenceException: Object reference not set to an instance of an object.]
Digita.Tustena.Global.Application_Start(Object sender, EventArgs e) +133

[HttpException (0x80004005): Object reference not set to an instance of an object.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext       context, HttpApplication app) +3985477
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +191
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +325
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +407
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +375

[HttpException (0x80004005): Object reference not set to an instance of an object.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11524352
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4782309

我的代码有什么问题?感谢您的帮助...

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    查看文件 Global.asax.cs 中的 Application_Start 方法。你在那里有一个空引用。放置一个 try/catch 并使用调试器查看哪个对象为空。

    如果您使用 dll 部署 pdb 文件,堆栈跟踪也将包含行号。还要将调试信息设置为完整:项目属性 -> 构建 -> 高级 -> 调试信息 (http://stackoverflow.com/a/3791997/57369)

    【讨论】:

    • 我不认为“+133”是行号(见其他数字),但问题在那个方法中。
    • 确实我读得太快了(假设是“:”而不是+)。所以在这种情况下,它是一个偏移量,而不是一个行号。我将编辑我的答案。
    猜你喜欢
    • 2013-11-23
    • 2014-07-29
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    • 2023-03-26
    相关资源
    最近更新 更多