How can we help you today? How can we help you today?

Can error reporting works on web applications?[solved]

Hi,

Can somebody tell me if it's possible to use the error reporting feature with an ASP.Net MVC application?

Regards,

Xavier
xavier
0

Comments

6 comments

  • xavier
    Because this assembly is a library. these options will not work automatically They will only work if accessed by an
    EXE that has been processed by SmartAssembly, or if you call ExceptionReporting.Report (Exception) manually.
    xavier
    0
  • Brian Donahue
    Or if you precompile the website and cerate an entry point for the resulting DLL as described here:
    http://www.red-gate.com/supportcenter/C ... rtAssembly
    Brian Donahue
    0
  • xavier
    Thank you for your help
    xavier
    0
  • Brian Donahue
    I take that back.... you can't use error reporting with the DLL(s) produced by ASPNET_COMPILER.exe except using ExceptionReporting.Report() like Xavier said.

    I'm trying to see if there is a better way of doing this where you can get the local variables as well as just the stack trace.
    Brian Donahue
    0
  • Brian Donahue
    Okay, here's how you make this work for ASP .NET, in a way that will also include the variable values:
    • Add a reference to c:\program files\red gate\smartassembly 6\SDK\bin\SmartAssembly.ReportException.dll in the web project
    • Open the codebehind file for Global.asax in Notepad (or VS)
    • If the method protected void Application_Error(Object sender, EventArgs e) does not exist, create it
    • The method should contain these lines
      Exception exc = Server.GetLastError().GetBaseException();
      SmartAssembly.ReportException.ExceptionReporting.Report(exc);
    • Save Global.asax.cs (or vb)
    • Use Aspnet_Compiler to create pre-compiled code for the website
      (aspnet_compiler -v "/" -p "c:\mywebsite" "c:\mynewwebsite")
    • Open the main DLL in a new SmartAssembly project (App_Web_xxx.dll)
    • Make sure to use the options to merge the dependent DLLs (especially Global_asax.dll)
    • Set up error reporting to report silently
    • Build the DLL into a new folder in a "bin" subfolder (c:\mynewSAwebsite\bin)
    • Copy all of the files that are not DLLs from the original compiled website to the one you just created
    Using this method, you have created a global exception handler that will get the exception stack trace and local variables from the web application if it throws an unhandled exception.
    Brian Donahue
    0
  • Brian Donahue
    Slight correction to the above: Merging the DLLs seems to break the error reporting, although the applicaiton works fine. If you process all of the DLLs produced by ASP .NET Compiler and deploy them separately, that works much better.
    Brian Donahue
    0

Add comment

Please sign in to leave a comment.