向用户显示通用错误消息,但是向管理员发送详细的堆栈跟踪等?

时间:2013-10-15 20:07:19

标签: c# asp.net-mvc asp.net-mvc-4

我最近在尝试在我的制作网站上做某事时遇到了这条消息:

  

“/”应用程序中的服务器错误。

     

您必须提供信用卡或客户ID

     

描述:执行期间发生未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:Stripe.StripeException:您必须提供a   卡或客户ID

     

来源错误

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈跟踪

     

[StripeException:您必须提供卡片或客户ID]
  Stripe.Requestor.ExecuteWebRequest(WebRequest webRequest)+238
  Stripe.Requestor.PostString(String url)+22
  Stripe.StripeChargeService.Create(StripeChargeCreateOptions   createOptions)+40
  AwesomenessWeb.Controllers.CustomersController.PaymentPost(PurchaseType   purchaseType,Int32 optionID,String stripeToken)in   C:\ A \ SRC \ AwesomenessWeb \ AwesomenessWeb \控制器\ CustomersController.cs:599   lambda_method(Closure,ControllerBase,Object [])+193
  System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase   controller,Object []参数)+14
  System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext   controllerContext,IDictionary 2 parameters) +214
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2   参数)+27
  System.Web.Mvc<> C_ DisplayClass15.b _12()   +55 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter)   filter,ActionExecutingContext preContext,Func 1 continuation) +253
System.Web.Mvc.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14() +21 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList
1个过滤器,ActionDescriptor actionDescriptor,   IDictionary的2 parameters) +191
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +324
System.Web.Mvc.Controller.ExecuteCore() +106
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +91 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10
System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +34
System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +19
System.Web.Mvc.Async.<>c__DisplayClass8
1.b__7(IAsyncResult的   )+10 System.Web.Mvc.Async.WrappedAsyncResult`1.End()+62 System.Web.Mvc。&lt;&gt; c _DisplayClasse.b_ d()+48 <登记/>   System.Web.Mvc.SecurityUtil.b _0(动作f)+7   System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action)   +22 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)+60
  System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult的   结果)+9
  System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   +9631764 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&amp; completedSynchronously)+155

     

版本信息:Microsoft .NET Framework版本:4.0.30319;   ASP.NET版本:4.0.30319.19064

是否可以通过电子邮件将所有这些信息发送到我的电子邮件地址..并且会向用户显示通用页面?

1 个答案:

答案 0 :(得分:3)

安装ELMAH。可以很容易地将其配置为向用户显示常规错误消息,但是记录和/或通过电子邮件向您发送异常上的每个详细信息。