本文整理汇总了C#中MessageFault.GetDetail方法的典型用法代码示例。如果您正苦于以下问题:C# MessageFault.GetDetail方法的具体用法?C# MessageFault.GetDetail怎么用?C# MessageFault.GetDetail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MessageFault
的用法示例。
在下文中一共展示了MessageFault.GetDetail方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: JsonFaultBodyWriter
public JsonFaultBodyWriter(MessageFault fault, bool includeExceptionDetailInFaults)
: base(false)
{
faultDetail = new JsonFaultDetail();
if (includeExceptionDetailInFaults)
{
faultDetail.Message = fault.Reason.ToString();
if (fault.HasDetail)
{
try
{
ExceptionDetail originalFaultDetail = fault.GetDetail<ExceptionDetail>();
faultDetail.StackTrace = originalFaultDetail.StackTrace;
faultDetail.ExceptionType = originalFaultDetail.Type;
faultDetail.ExceptionDetail = originalFaultDetail;
}
catch (SerializationException exception)
{
System.ServiceModel.DiagnosticUtility.TraceHandledException(exception, TraceEventType.Information);
// A SerializationException will be thrown if the detail isn't of type ExceptionDetail
// In that case, we want to just move on.
}
catch (SecurityException exception)
{
System.ServiceModel.DiagnosticUtility.TraceHandledException(exception, TraceEventType.Information);
// A SecurityException will be thrown if the detail can't be obtained in partial trust
// (This is guaranteed to happen unless there's an Assert for MemberAccessPermission, since ExceptionDetail
// has DataMembers that have private setters.)
// In that case, we want to just move on.
}
}
}
else
{
faultDetail.Message = System.ServiceModel.SR.GetString(System.ServiceModel.SR.SFxInternalServerError);
}
}