本文整理汇总了C#中NancyContext.GetExceptionDetails方法的典型用法代码示例。如果您正苦于以下问题:C# NancyContext.GetExceptionDetails方法的具体用法?C# NancyContext.GetExceptionDetails怎么用?C# NancyContext.GetExceptionDetails使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NancyContext
的用法示例。
在下文中一共展示了NancyContext.GetExceptionDetails方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Handle
/// <summary>
/// Handle the error code
/// </summary>
/// <param name="statusCode">Status code</param>
/// <param name="context">The <see cref="NancyContext"/> instance of the current request.</param>
/// <returns>Nancy Response</returns>
public void Handle(HttpStatusCode statusCode, NancyContext context)
{
if (context.Response != null && context.Response.Contents != null && !ReferenceEquals(context.Response.Contents, Response.NoBody))
{
return;
}
if (!this.errorMessages.ContainsKey(statusCode) || !this.errorPages.ContainsKey(statusCode))
{
return;
}
var result = new DefaultStatusCodeHandlerResult(statusCode, this.errorMessages[statusCode], StaticConfiguration.DisableErrorTraces ? DisableErrorTracesTrueMessage : context.GetExceptionDetails());
try
{
context.Response = this.responseNegotiator.NegotiateResponse(result, context);
context.Response.StatusCode = statusCode;
return;
}
catch (ViewNotFoundException)
{
// No view will be found for `DefaultStatusCodeHandlerResult`
// because it is rendered from embedded resources below
}
this.ModifyResponse(statusCode, context, result);
}
示例2: Handle
/// <summary>
/// Handle the error code
/// </summary>
/// <param name="statusCode">Status code</param>
/// <param name="context">The <see cref="NancyContext"/> instance of the current request.</param>
/// <returns>Nancy Response</returns>
public void Handle(HttpStatusCode statusCode, NancyContext context)
{
if (context.Response != null && context.Response.Contents != null && !ReferenceEquals(context.Response.Contents, Response.NoBody))
{
return;
}
if (!this.errorMessages.ContainsKey(statusCode) || !this.errorPages.ContainsKey(statusCode))
{
return;
}
Response existingResponse = null;
if (context.Response != null)
{
existingResponse = context.Response;
}
// Reset negotiation context to avoid any downstream cast exceptions
// from swapping a view model with a `DefaultStatusCodeHandlerResult`
context.NegotiationContext = new NegotiationContext();
var result = new DefaultStatusCodeHandlerResult(statusCode, this.errorMessages[statusCode], StaticConfiguration.DisableErrorTraces ? DisableErrorTracesTrueMessage : context.GetExceptionDetails());
try
{
context.Response = this.responseNegotiator.NegotiateResponse(result, context);
context.Response.StatusCode = statusCode;
if (existingResponse != null)
{
context.Response.ReasonPhrase = existingResponse.ReasonPhrase;
}
return;
}
catch (ViewNotFoundException)
{
// No view will be found for `DefaultStatusCodeHandlerResult`
// because it is rendered from embedded resources below
}
this.ModifyResponse(statusCode, context, result);
}
示例3: PopulateErrorInfo
private static string PopulateErrorInfo(HttpStatusCode httpStatusCode, NancyContext context, string templateContents)
{
return templateContents.Replace("[DETAILS]", StaticConfiguration.DisableErrorTraces ? DisableErrorTracesTrueMessage : context.GetExceptionDetails());
}