C# 应用程序_Start()未在Global.asax中被激发
这在本地和我们的QA服务器中运行良好。但是,在我们的一个客户机服务器中,应用程序_Start()似乎根本没有被触发 我的应用程序_Start()如下所示:C# 应用程序_Start()未在Global.asax中被激发,c#,asp.net,asp.net-mvc,iis,C#,Asp.net,Asp.net Mvc,Iis,这在本地和我们的QA服务器中运行良好。但是,在我们的一个客户机服务器中,应用程序_Start()似乎根本没有被触发 我的应用程序_Start()如下所示: void Application_Start(object sender, EventArgs e) { EventLogging.LogEvent("Application_Start() fired in Global.asax.", EventLogging.LogLevel.Basic); Application["A
void Application_Start(object sender, EventArgs e)
{
EventLogging.LogEvent("Application_Start() fired in Global.asax.", EventLogging.LogLevel.Basic);
Application["ApplicationName"] = "My Application Name";
EventLogging.LogVerbose("Application_Start() - ApplicationName: " + (Application["ApplicationName"] ?? "NA"));
}
在我的一个代码模块中,我检查应用程序[“ApplicationName”],如果它有值,我启动一个长时间运行的调度程序线程。问题是应用程序_Start()从未设置此应用程序[“ApplicationName”]
到目前为止,我所尝试的:
PrecompiledApp.config
是否在我网站的根目录中App_global.asax.dll
、App_global.asax.compiled
和App_global.asax.pdb
应用程序\u Start()
无法启动,但我不确定它是什么
我已经阅读并尝试了以下建议的方法,但迄今为止运气不佳:
这让我快发疯了。请帮忙。谢谢
编辑:根据您的要求,这是我的整个global.asax:
<%@ Application Language="C#" Inherits="WebFramework.GlobalBase" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.Http" %>
<%@ Import Namespace="System.Web.Mvc" %>
<%@ Import Namespace="System.Web.Routing" %>
<%@ Import Namespace="System.Reflection" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
EventLogging.LogEvent("Application_Start() fired in Global.asax.", EventLogging.LogLevel.Basic);
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
Application["ApplicationName"] = "My Application";
EventLogging.LogVerbose("Application_Start() - ApplicationName: " + (Application["ApplicationName"] ?? "NA"));
}
void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
}
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
}
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
}
void Session_End(object sender, EventArgs e)
{
// Code that runs when a session ends.
// Note: The Session_End event is raised only when the sessionstate mode
// is set to InProc in the Web.config file. If session mode is set to StateServer
// or SQLServer, the event is not raised.
}
public override string GetVaryByCustomString(HttpContext context, string custom)
{
if (custom.ToLower() == "sessionid")
{
return context.Session.SessionID;
}
return base.GetVaryByCustomString(context, custom);
}
</script>
无效应用程序\u启动(对象发送方,事件参数e)
{
EventLogging.LogEvent(“在Global.asax中激发的应用程序_Start()”,EventLogging.LogLevel.Basic);
RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
应用程序[“ApplicationName”]=“我的应用程序”;
LogVerbose(“Application_Start()-ApplicationName:+(Application[“ApplicationName”]??“NA”);
}
无效应用程序\u结束(对象发送方,事件参数e)
{
//应用程序关闭时运行的代码
}
无效应用程序错误(对象发送方,事件参数e)
{
//发生未处理错误时运行的代码
}
无效会话\u启动(对象发送方,事件参数e)
{
//启动新会话时运行的代码
}
无效会话\u结束(对象发送方,事件参数e)
{
//会话结束时运行的代码。
//注意:只有在sessionstate模式下才会引发Session_End事件
//在Web.config文件中设置为InProc。如果会话模式设置为StateServer
//或SQLServer,则不会引发该事件。
}
公共重写字符串GetVaryByCustomString(HttpContext上下文,字符串自定义)
{
if(custom.ToLower()=“sessionid”)
{
返回context.Session.SessionID;
}
return base.GetVaryByCustomString(上下文,自定义);
}
注意:GlobalBase.cs基本上是一个不做任何事情的cs文件。这是Windows的问题!安装最新的Windows Server 2012 R2更新后,此问题不再发生 这是Windows的问题!安装最新的Windows Server 2012 R2更新后,此问题不再发生 您能够访问应用程序内的页面吗?@mason是的,页面可以访问,但我的计划程序线程从未生成,因为应用程序[“ApplicationName”]未由应用程序\u Start设置。您记录的事件从未被记录?global.asax中的其他方法如何?如果在事件日志中找不到任何内容,请确保事件日志设置正确,并且具有写入权限。第一行可能出现故障。@mason该客户端服务器中的global.asax没有记录任何内容。在我们的QA服务器中,它工作正常,我们可以看到日志。您能够访问应用程序中的页面吗?@mason是的,页面可以访问,但我的调度程序线程从未生成,因为应用程序[“ApplicationName”]未由应用程序\u Start设置。您记录的事件从未被记录?global.asax中的其他方法如何?如果在事件日志中找不到任何内容,请确保事件日志设置正确,并且具有写入权限。第一行可能出现故障。@mason该客户端服务器中的global.asax没有记录任何内容。在我们的QA服务器中,它工作正常,我们可以看到日志。