Global.asax not firing

F

furiousmojo

This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
A

Alvin Bruney [MVP]

can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
 
F

furiousmojo

Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVal e As
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just for testing
to see if it's even running and it's not. Here's the code to create an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
J

Juan T. Llibre

re:
as you can see, I have it redirect to /feedback.aspx just for testing to see if
it's even running and it's not. Here's the code to create an unhandled exception:
Dim dblTest As Double
dblTest = ""

It seems that you're not catching the right type of exception.

Please review :

http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception_members.aspx
http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpcompileexception.aspx





Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVal e As
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just for testing
to see if it's even running and it's not. Here's the code to create an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
F

furiousmojo

I don't think that's it. I have another 2.0 application with the exact
same code and the global.asax file catches it and takes appropriate
action. Maybe I just need to recreate the project?
re:
as you can see, I have it redirect to /feedback.aspx just for testing to see if
it's even running and it's not. Here's the code to create an unhandledexception:
Dim dblTest As Double
dblTest = ""

It seems that you're not catching the right type of exception.

Please review :

http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception_members.aspx
http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpcompileexception.aspx





Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVal e As
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just for testing
to see if it's even running and it's not. Here's the code to create an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
G

Guest

Did you get a resolution to this problem?
I have the same problem too. All working fine on development machine, but
Application_Error event doesn't fire on production machine. Other events are
firing okay on production machine e.g. Session_Start.

--
Mark


I don't think that's it. I have another 2.0 application with the exact
same code and the global.asax file catches it and takes appropriate
action. Maybe I just need to recreate the project?
re:
as you can see, I have it redirect to /feedback.aspx just for testing to see if
it's even running and it's not. Here's the code to create an unhandled exception:
Dim dblTest As Double
dblTest = ""

It seems that you're not catching the right type of exception.

Please review :

http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception_members.aspx
http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpcompileexception.aspx





Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVal e As
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just for testing
to see if it's even running and it's not. Here's the code to create an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.

Alvin Bruney [MVP] wrote:
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
F

furiousmojo

No I haven't. I haven't gotten around to try to recreate the project
yet. That is my next step.


Mark said:
Did you get a resolution to this problem?
I have the same problem too. All working fine on development machine, but
Application_Error event doesn't fire on production machine. Other events are
firing okay on production machine e.g. Session_Start.

--
Mark


I don't think that's it. I have another 2.0 application with the exact
same code and the global.asax file catches it and takes appropriate
action. Maybe I just need to recreate the project?
re:
as you can see, I have it redirect to /feedback.aspx just for testing to see if
it's even running and it's not. Here's the code to create an unhandled exception:
Dim dblTest As Double
dblTest = ""

It seems that you're not catching the right type of exception.

Please review :

http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception_members.aspx
http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpcompileexception.aspx





Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVal e As
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just for testing
to see if it's even running and it's not. Here's the code to create an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.

Alvin Bruney [MVP] wrote:
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
F

furiousmojo

Recreating the project did not work. There's something to set on the
production machine, but I can't find it. I've compared settings for
IIS, web.config, between my working development and production machines
to the new production machine and they're all the same. I've
reinstalled asp.net 2.0, I've completed all critical updates. What
else is there to try?

Anyone have any ideas? Ugh.

No I haven't. I haven't gotten around to try to recreate the project
yet. That is my next step.


Mark said:
Did you get a resolution to this problem?
I have the same problem too. All working fine on development machine, but
Application_Error event doesn't fire on production machine. Other events are
firing okay on production machine e.g. Session_Start.

--
Mark


I don't think that's it. I have another 2.0 application with the exact
same code and the global.asax file catches it and takes appropriate
action. Maybe I just need to recreate the project?

Juan T. Llibre wrote:
re:
as you can see, I have it redirect to /feedback.aspx just for testing to see if
it's even running and it's not. Here's the code to create an unhandled exception:
Dim dblTest As Double
dblTest = ""

It seems that you're not catching the right type of exception.

Please review :

http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception_members.aspx
http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpcompileexception.aspx





Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVal e As
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just for testing
to see if it's even running and it's not. Here's the code to create an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.

Alvin Bruney [MVP] wrote:
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
J

Juan T. Llibre

Please verify that your code conforms to accepted practices
for capturing Application Error events per these articles :

http://www.quepublishing.com/articles/article.asp?p=25171&rl=1
(includes sample code)

http://www.angrycoder.com/article.aspx?cid=5&y=2001&m=4&d=18
(includes sample code)

http://www.dotnetjohn.com/articles.aspx?articleid=42
(includes sample code)





Recreating the project did not work. There's something to set on the
production machine, but I can't find it. I've compared settings for
IIS, web.config, between my working development and production machines
to the new production machine and they're all the same. I've
reinstalled asp.net 2.0, I've completed all critical updates. What
else is there to try?

Anyone have any ideas? Ugh.

No I haven't. I haven't gotten around to try to recreate the project
yet. That is my next step.


Mark said:
Did you get a resolution to this problem?
I have the same problem too. All working fine on development machine, but
Application_Error event doesn't fire on production machine. Other events are
firing okay on production machine e.g. Session_Start.

--
Mark


I don't think that's it. I have another 2.0 application with the exact
same code and the global.asax file catches it and takes appropriate
action. Maybe I just need to recreate the project?

Juan T. Llibre wrote:
re:
as you can see, I have it redirect to /feedback.aspx just for testing to see if
it's even running and it's not. Here's the code to create an unhandled exception:
Dim dblTest As Double
dblTest = ""

It seems that you're not catching the right type of exception.

Please review :

http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception_members.aspx
http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpcompileexception.aspx





Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVal e As
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just for testing
to see if it's even running and it's not. Here's the code to create an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.

Alvin Bruney [MVP] wrote:
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
F

furiousmojo

I appreciate your help Juan. But again, the global.asax file fires
just fine on my development machine and on another production machine.
The code should be fine. Wouldn't you agree?

There is something that is preventing it from firing on this particular
production machine.
Please verify that your code conforms to accepted practices
for capturing Application Error events per these articles :

http://www.quepublishing.com/articles/article.asp?p=25171&rl=1
(includes sample code)

http://www.angrycoder.com/article.aspx?cid=5&y=2001&m=4&d=18
(includes sample code)

http://www.dotnetjohn.com/articles.aspx?articleid=42
(includes sample code)





Recreating the project did not work. There's something to set on the
production machine, but I can't find it. I've compared settings for
IIS, web.config, between my working development and production machines
to the new production machine and they're all the same. I've
reinstalled asp.net 2.0, I've completed all critical updates. What
else is there to try?

Anyone have any ideas? Ugh.

No I haven't. I haven't gotten around to try to recreate the project
yet. That is my next step.


Mark said:
Did you get a resolution to this problem?
I have the same problem too. All working fine on development machine,but
Application_Error event doesn't fire on production machine. Other events are
firing okay on production machine e.g. Session_Start.

--
Mark


:

I don't think that's it. I have another 2.0 application with the exact
same code and the global.asax file catches it and takes appropriate
action. Maybe I just need to recreate the project?

Juan T. Llibre wrote:
re:
as you can see, I have it redirect to /feedback.aspx just for testing to see if
it's even running and it's not. Here's the code to create an unhandled exception:
Dim dblTest As Double
dblTest = ""

It seems that you're not catching the right type of exception.

Please review :

http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception_members.aspx
http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpcompileexception.aspx





Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal eAs
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVal eAs
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just for testing
to see if it's even running and it's not. Here's the code to create an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.

Alvin Bruney [MVP] wrote:
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
J

Juan T. Llibre

re:
There is something that is preventing it from firing on this particular production machine.

Look for permissions issues.

Make sure all the directories for the production machine have the
proper permissions for the account which ASP.NET is running as, per :

http://msdn2.microsoft.com/en-us/library/kwzs111e.aspx

Make sure you know the correct account which
ASP.NET is running as on that machine.

If you have doubts as to which account that is, run this file :

identity.aspx:
-------------
<%@ Page Language="VB" %>
<%@ Import NameSpace = System.Security.Principal %>
<script runat="server">
Sub Page_Load()
Dim tmp As String = WindowsIdentity.GetCurrent.Name()
Label1.Text = tmp
End Sub
</script>
<html>
<head>
<title>WindowsIdentity.GetCurrent.Name()</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" Runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
--------

Give the permissions outlined at:
http://msdn2.microsoft.com/en-us/library/kwzs111e.aspx
to whichever account is reported as the ASP.NEt account by "identity.aspx".

Let us know what happens...





I appreciate your help Juan. But again, the global.asax file fires
just fine on my development machine and on another production machine.
The code should be fine. Wouldn't you agree?

There is something that is preventing it from firing on this particular
production machine.
Please verify that your code conforms to accepted practices
for capturing Application Error events per these articles :

http://www.quepublishing.com/articles/article.asp?p=25171&rl=1
(includes sample code)

http://www.angrycoder.com/article.aspx?cid=5&y=2001&m=4&d=18
(includes sample code)

http://www.dotnetjohn.com/articles.aspx?articleid=42
(includes sample code)





Recreating the project did not work. There's something to set on the
production machine, but I can't find it. I've compared settings for
IIS, web.config, between my working development and production machines
to the new production machine and they're all the same. I've
reinstalled asp.net 2.0, I've completed all critical updates. What
else is there to try?

Anyone have any ideas? Ugh.

No I haven't. I haven't gotten around to try to recreate the project
yet. That is my next step.


Mark said:
Did you get a resolution to this problem?
I have the same problem too. All working fine on development machine, but
Application_Error event doesn't fire on production machine. Other events are
firing okay on production machine e.g. Session_Start.

--
Mark


:

I don't think that's it. I have another 2.0 application with the exact
same code and the global.asax file catches it and takes appropriate
action. Maybe I just need to recreate the project?

Juan T. Llibre wrote:
re:
as you can see, I have it redirect to /feedback.aspx just for testing to see if
it's even running and it's not. Here's the code to create an unhandled exception:
Dim dblTest As Double
dblTest = ""

It seems that you're not catching the right type of exception.

Please review :

http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception_members.aspx
http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpcompileexception.aspx





Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVal e As
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just for testing
to see if it's even running and it's not. Here's the code to create an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.

Alvin Bruney [MVP] wrote:
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
F

furiousmojo

Checked everything as per that document. It's running as NT
AUTHORITY\NETWORK SERVICE and both this account and the asp.net account
have the permissions as outlined by the document.

Still no go. What on earth could this be... and apparently I'm not the
only one as someone else posted in this thread with the same problem
and I've seen it on the web elsewhere without a resolution.
re:
There is something that is preventing it from firing on this particularproduction machine.

Look for permissions issues.

Make sure all the directories for the production machine have the
proper permissions for the account which ASP.NET is running as, per :

http://msdn2.microsoft.com/en-us/library/kwzs111e.aspx

Make sure you know the correct account which
ASP.NET is running as on that machine.

If you have doubts as to which account that is, run this file :

identity.aspx:
-------------
<%@ Page Language="VB" %>
<%@ Import NameSpace = System.Security.Principal %>
<script runat="server">
Sub Page_Load()
Dim tmp As String = WindowsIdentity.GetCurrent.Name()
Label1.Text = tmp
End Sub
</script>
<html>
<head>
<title>WindowsIdentity.GetCurrent.Name()</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" Runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
--------

Give the permissions outlined at:
http://msdn2.microsoft.com/en-us/library/kwzs111e.aspx
to whichever account is reported as the ASP.NEt account by "identity.aspx".

Let us know what happens...





I appreciate your help Juan. But again, the global.asax file fires
just fine on my development machine and on another production machine.
The code should be fine. Wouldn't you agree?

There is something that is preventing it from firing on this particular
production machine.
Please verify that your code conforms to accepted practices
for capturing Application Error events per these articles :

http://www.quepublishing.com/articles/article.asp?p=25171&rl=1
(includes sample code)

http://www.angrycoder.com/article.aspx?cid=5&y=2001&m=4&d=18
(includes sample code)

http://www.dotnetjohn.com/articles.aspx?articleid=42
(includes sample code)





Recreating the project did not work. There's something to set on the
production machine, but I can't find it. I've compared settings for
IIS, web.config, between my working development and production machines
to the new production machine and they're all the same. I've
reinstalled asp.net 2.0, I've completed all critical updates. What
else is there to try?

Anyone have any ideas? Ugh.

No I haven't. I haven't gotten around to try to recreate the project
yet. That is my next step.


Mark Lewis wrote:
Did you get a resolution to this problem?
I have the same problem too. All working fine on development machine, but
Application_Error event doesn't fire on production machine. Other events are
firing okay on production machine e.g. Session_Start.

--
Mark


:

I don't think that's it. I have another 2.0 application with theexact
same code and the global.asax file catches it and takes appropriate
action. Maybe I just need to recreate the project?

Juan T. Llibre wrote:
re:
as you can see, I have it redirect to /feedback.aspx just fortesting to see if
it's even running and it's not. Here's the code to create anunhandled exception:
Dim dblTest As Double
dblTest = ""

It seems that you're not catching the right type of exception.

Please review :

http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception_members.aspx
http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpcompileexception.aspx





Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVale As
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVale As
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just fortesting
to see if it's even running and it's not. Here's the code tocreate an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.

Alvin Bruney [MVP] wrote:
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
F

furiousmojo

And because it's somewhat relevant, I do have customerrors turned off.
This is so I can let the global.asax handle what happens.

Checked everything as per that document. It's running as NT
AUTHORITY\NETWORK SERVICE and both this account and the asp.net account
have the permissions as outlined by the document.

Still no go. What on earth could this be... and apparently I'm not the
only one as someone else posted in this thread with the same problem
and I've seen it on the web elsewhere without a resolution.
re:
There is something that is preventing it from firing on this particular production machine.

Look for permissions issues.

Make sure all the directories for the production machine have the
proper permissions for the account which ASP.NET is running as, per :

http://msdn2.microsoft.com/en-us/library/kwzs111e.aspx

Make sure you know the correct account which
ASP.NET is running as on that machine.

If you have doubts as to which account that is, run this file :

identity.aspx:
-------------
<%@ Page Language="VB" %>
<%@ Import NameSpace = System.Security.Principal %>
<script runat="server">
Sub Page_Load()
Dim tmp As String = WindowsIdentity.GetCurrent.Name()
Label1.Text = tmp
End Sub
</script>
<html>
<head>
<title>WindowsIdentity.GetCurrent.Name()</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" Runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
--------

Give the permissions outlined at:
http://msdn2.microsoft.com/en-us/library/kwzs111e.aspx
to whichever account is reported as the ASP.NEt account by "identity.aspx".

Let us know what happens...





I appreciate your help Juan. But again, the global.asax file fires
just fine on my development machine and on another production machine.
The code should be fine. Wouldn't you agree?

There is something that is preventing it from firing on this particular
production machine.
Please verify that your code conforms to accepted practices
for capturing Application Error events per these articles :

http://www.quepublishing.com/articles/article.asp?p=25171&rl=1
(includes sample code)

http://www.angrycoder.com/article.aspx?cid=5&y=2001&m=4&d=18
(includes sample code)

http://www.dotnetjohn.com/articles.aspx?articleid=42
(includes sample code)





Recreating the project did not work. There's something to set on the
production machine, but I can't find it. I've compared settings for
IIS, web.config, between my working development and production machines
to the new production machine and they're all the same. I've
reinstalled asp.net 2.0, I've completed all critical updates. What
else is there to try?

Anyone have any ideas? Ugh.

(e-mail address removed) wrote:
No I haven't. I haven't gotten around to try to recreate the project
yet. That is my next step.


Mark Lewis wrote:
Did you get a resolution to this problem?
I have the same problem too. All working fine on development machine, but
Application_Error event doesn't fire on production machine. Otherevents are
firing okay on production machine e.g. Session_Start.

--
Mark


:

I don't think that's it. I have another 2.0 application with the exact
same code and the global.asax file catches it and takes appropriate
action. Maybe I just need to recreate the project?

Juan T. Llibre wrote:
re:
as you can see, I have it redirect to /feedback.aspx just for testing to see if
it's even running and it's not. Here's the code to create an unhandled exception:
Dim dblTest As Double
dblTest = ""

It seems that you're not catching the right type of exception.

Please review :

http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception_members.aspx
http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpcompileexception.aspx





Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e AsEventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVal e As
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just for testing
to see if it's even running and it's not. Here's the code to create an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.

Alvin Bruney [MVP] wrote:
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it wasupgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
D

Doug

This may be a silly question, but does the production machine have an
ASP.NET user account? And do you see any errors in the Event Viewer
(application log, system log, etc.)?
 
F

furiousmojo

Yes, the ASP.NET account exists and was verified against with the
permissions document Juan posted.

I think I just fixed it... and it was so simple. I'm not sure exactly
why it fixed it yet, but it's working now. I simply deleted all of the
contents of the folder and reuploaded it. There must've been some file
present that was causing the problem.
 
F

furiousmojo

PrecompiledApp.config was the culprit. Exclude/delete this from the
project and problem is solved! Wow.
 
J

Juan T. Llibre

re:
both this account and the asp.net account have the permissions

That is a bit confusing.
They should refer to the *same* account.





Checked everything as per that document. It's running as NT
AUTHORITY\NETWORK SERVICE and both this account and the asp.net account
have the permissions as outlined by the document.

Still no go. What on earth could this be... and apparently I'm not the
only one as someone else posted in this thread with the same problem
and I've seen it on the web elsewhere without a resolution.
re:
There is something that is preventing it from firing on this particular production machine.

Look for permissions issues.

Make sure all the directories for the production machine have the
proper permissions for the account which ASP.NET is running as, per :

http://msdn2.microsoft.com/en-us/library/kwzs111e.aspx

Make sure you know the correct account which
ASP.NET is running as on that machine.

If you have doubts as to which account that is, run this file :

identity.aspx:
-------------
<%@ Page Language="VB" %>
<%@ Import NameSpace = System.Security.Principal %>
<script runat="server">
Sub Page_Load()
Dim tmp As String = WindowsIdentity.GetCurrent.Name()
Label1.Text = tmp
End Sub
</script>
<html>
<head>
<title>WindowsIdentity.GetCurrent.Name()</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" Runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
--------

Give the permissions outlined at:
http://msdn2.microsoft.com/en-us/library/kwzs111e.aspx
to whichever account is reported as the ASP.NEt account by "identity.aspx".

Let us know what happens...





I appreciate your help Juan. But again, the global.asax file fires
just fine on my development machine and on another production machine.
The code should be fine. Wouldn't you agree?

There is something that is preventing it from firing on this particular
production machine.
Please verify that your code conforms to accepted practices
for capturing Application Error events per these articles :

http://www.quepublishing.com/articles/article.asp?p=25171&rl=1
(includes sample code)

http://www.angrycoder.com/article.aspx?cid=5&y=2001&m=4&d=18
(includes sample code)

http://www.dotnetjohn.com/articles.aspx?articleid=42
(includes sample code)





Recreating the project did not work. There's something to set on the
production machine, but I can't find it. I've compared settings for
IIS, web.config, between my working development and production machines
to the new production machine and they're all the same. I've
reinstalled asp.net 2.0, I've completed all critical updates. What
else is there to try?

Anyone have any ideas? Ugh.

No I haven't. I haven't gotten around to try to recreate the project
yet. That is my next step.


Mark Lewis wrote:
Did you get a resolution to this problem?
I have the same problem too. All working fine on development machine, but
Application_Error event doesn't fire on production machine. Other events are
firing okay on production machine e.g. Session_Start.

--
Mark


:

I don't think that's it. I have another 2.0 application with the exact
same code and the global.asax file catches it and takes appropriate
action. Maybe I just need to recreate the project?

Juan T. Llibre wrote:
re:
as you can see, I have it redirect to /feedback.aspx just for testing to see if
it's even running and it's not. Here's the code to create an unhandled exception:
Dim dblTest As Double
dblTest = ""

It seems that you're not catching the right type of exception.

Please review :

http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception_members.aspx
http://msdn2.microsoft.com/en-us/system.web.httpunhandledexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpexception.aspx
http://msdn2.microsoft.com/en-us/system.web.httpcompileexception.aspx





Sure. This is the global.asax file:

Imports System.Web.SessionState
Imports cti.common
Public Class Global_asax
Inherits System.Web.HttpApplication

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application is started
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session is started
End Sub

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As
EventArgs)
' Fires at the beginning of each request
End Sub

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e
As EventArgs)
' Fires upon attempting to authenticate the use
End Sub

Public Sub Application_Error(ByVal sender As Object, ByVal e As
EventArgs)
' Fires when an error occurs

Dim strDeveloperEmail As String

Response.Redirect("/feedback.aspx")
'asldkfj

'If user is a developer, do Nothing, don't send e-mail, but
show error message.
If User.IsInRole(ConfigurationManager.AppSettings("DomainName")
& "\" & ConfigurationManager.AppSettings("DevelopersGroupName")) = True
Then
'Otherwise just send e-mail and redirect to a friendly
page.
Else
strDeveloperEmail =
GetADEmailsOfGroupMembers("(&(ObjectClass=group)(sAMAccountName=" &
ConfigurationManager.AppSettings("DevelopersGroupName") & "))")


CustomSendEmail(ConfigurationManager.AppSettings("EmailFromName"), _
ConfigurationManager.AppSettings("EmailFromAddress"), _
strDeveloperEmail, _
"", _
"Portal Application Error", _
BuildMessage(), _
"Normal", _

ConfigurationManager.AppSettings("InternalSMTPServerRelay"))

Response.Redirect("/error.aspx")
End If
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
End Sub

Function BuildMessage() As String

Dim strMessage As New StringBuilder

strMessage.Append("Username: " &
Request.ServerVariables("LOGON_USER"))
strMessage.Append("<br>")
strMessage.Append("IP Address: " &
Request.ServerVariables("REMOTE_ADDR"))
strMessage.Append("<br>")
strMessage.Append("User Agent: " &
Request.ServerVariables("HTTP_USER_AGENT"))
strMessage.Append("<br>")
strMessage.Append("Page: " & Request.Url.AbsoluteUri)
strMessage.Append("<br>")
strMessage.Append("Time: " & System.DateTime.Now)
strMessage.Append("<br>")
strMessage.Append("Details: " &
Server.GetLastError().InnerException.ToString())
Return strMessage.ToString

End Function

End Class

as you can see, I have it redirect to /feedback.aspx just for testing
to see if it's even running and it's not. Here's the code to create an
unhandled exception:

Dim dblTest As Double

dblTest = ""

Thanks in advance.

Alvin Bruney [MVP] wrote:
can you produce some code to clearly demonstrate the problem? you can post
here with the code once you have got it ready

--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


This is a strange problem. I have a project where the contents of
global.asax application_error are not firing. It is an asp.net 2.0
application using web application projects. I have another app using
web application projects and it's firing fine but it was upgraded from
the 1.1 framework.

Why doesn't my global.asax application_error routine fire?
 
S

sherlock

Strange, I had the same error, where the events in the Global.asax.cs
were not firing. After more than a month of puzzling through this, I
eventually fixed this by including PrecompiledApp.Config on the server.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,236
Members
46,822
Latest member
israfaceZa

Latest Threads

Top