Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / XamlBuildTask / XamlFxTrace.cs / 1305376 / XamlFxTrace.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Xaml { using System; using System.Runtime; using System.Reflection; using System.Threading; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Diagnostics.CodeAnalysis; static partial class FxTrace { const string baseEventSourceName = "System.Xaml"; static string eventSourceName; static ExceptionTrace exceptionTrace; public static ExceptionTrace Exception { get { if (exceptionTrace == null) { // don't need a lock here since a true singleton is not required exceptionTrace = new ExceptionTrace(EventSourceName); } return exceptionTrace; } } static string EventSourceName { get { if (eventSourceName == null) { object[] fileVersionList = typeof(FxTrace).Assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false); if (fileVersionList != null && fileVersionList.Length > 0 && fileVersionList[0] is AssemblyFileVersionAttribute) { eventSourceName = string.Concat(baseEventSourceName, " ", ((AssemblyFileVersionAttribute)fileVersionList[0]).Version); } else { eventSourceName = baseEventSourceName; } } return eventSourceName; } } // This never returns. The Exception return type lets you write 'throw FailFast()' which tells the compiler/tools that // execution stops. // This method is static on a beforefieldinit class. As long as it's built into the calling assembly and that assembly is // NGEN'd, it's very unlikely for the call itself to fail. [MethodImpl(MethodImplOptions.NoInlining)] [SuppressMessage(FxCop.Category.Performance, FxCop.Rule.AvoidUncalledPrivateCode, Justification = "This template is shared across all assemblies, some of which use this accessor.")] public static Exception FailFast(string message) { // The catch is here to force the finally to run, as finallys don't run until the stack walk gets to a catch. // The catch makes sure that the finally will run before the stack-walk leaves the frame, but the code inside is impossible to reach. try { try { FxTrace.Exception.TraceFailFast(message); } finally { Environment.FailFast(message); } } catch { throw; } return null; // we'll never get here since we've just fail-fasted } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Xaml { using System; using System.Runtime; using System.Reflection; using System.Threading; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Diagnostics.CodeAnalysis; static partial class FxTrace { const string baseEventSourceName = "System.Xaml"; static string eventSourceName; static ExceptionTrace exceptionTrace; public static ExceptionTrace Exception { get { if (exceptionTrace == null) { // don't need a lock here since a true singleton is not required exceptionTrace = new ExceptionTrace(EventSourceName); } return exceptionTrace; } } static string EventSourceName { get { if (eventSourceName == null) { object[] fileVersionList = typeof(FxTrace).Assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false); if (fileVersionList != null && fileVersionList.Length > 0 && fileVersionList[0] is AssemblyFileVersionAttribute) { eventSourceName = string.Concat(baseEventSourceName, " ", ((AssemblyFileVersionAttribute)fileVersionList[0]).Version); } else { eventSourceName = baseEventSourceName; } } return eventSourceName; } } // This never returns. The Exception return type lets you write 'throw FailFast()' which tells the compiler/tools that // execution stops. // This method is static on a beforefieldinit class. As long as it's built into the calling assembly and that assembly is // NGEN'd, it's very unlikely for the call itself to fail. [MethodImpl(MethodImplOptions.NoInlining)] [SuppressMessage(FxCop.Category.Performance, FxCop.Rule.AvoidUncalledPrivateCode, Justification = "This template is shared across all assemblies, some of which use this accessor.")] public static Exception FailFast(string message) { // The catch is here to force the finally to run, as finallys don't run until the stack walk gets to a catch. // The catch makes sure that the finally will run before the stack-walk leaves the frame, but the code inside is impossible to reach. try { try { FxTrace.Exception.TraceFailFast(message); } finally { Environment.FailFast(message); } } catch { throw; } return null; // we'll never get here since we've just fail-fasted } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlExpressionDumper.cs
- CharacterHit.cs
- SchemaImporterExtension.cs
- DirectoryLocalQuery.cs
- SafeRegistryHandle.cs
- WebHeaderCollection.cs
- PersonalizationStateInfo.cs
- ChangeDirector.cs
- PropertyContainer.cs
- SmiXetterAccessMap.cs
- OleDbEnumerator.cs
- TransformPatternIdentifiers.cs
- MediaElement.cs
- SqlInfoMessageEvent.cs
- AncestorChangedEventArgs.cs
- BitmapEffectCollection.cs
- RegexStringValidator.cs
- DiscoveryInnerClientManaged11.cs
- LiteralControl.cs
- SecurityManager.cs
- TreeView.cs
- WebPart.cs
- ServiceBusyException.cs
- ExpressionEditorAttribute.cs
- ParsedAttributeCollection.cs
- SHA512.cs
- EventLogTraceListener.cs
- Rectangle.cs
- CompositeControl.cs
- TextPenaltyModule.cs
- SQLRoleProvider.cs
- DataGridViewCellStateChangedEventArgs.cs
- ColorAnimation.cs
- METAHEADER.cs
- ConstructorNeedsTagAttribute.cs
- PeerName.cs
- PickDesigner.xaml.cs
- CellConstantDomain.cs
- MouseBinding.cs
- Propagator.JoinPropagator.cs
- CachedPathData.cs
- LogStream.cs
- ConfigXmlText.cs
- MessageQueueTransaction.cs
- OleDbInfoMessageEvent.cs
- TextureBrush.cs
- ScrollBarAutomationPeer.cs
- CellTreeNodeVisitors.cs
- TypeConverterMarkupExtension.cs
- SchemaEntity.cs
- QualificationDataAttribute.cs
- FontNamesConverter.cs
- FileNameEditor.cs
- OracleDateTime.cs
- AsyncPostBackTrigger.cs
- ISAPIApplicationHost.cs
- StringConcat.cs
- OutputCacheProfileCollection.cs
- RenameRuleObjectDialog.cs
- WebContext.cs
- DataGridViewRowConverter.cs
- SafeEventLogReadHandle.cs
- DocumentSchemaValidator.cs
- Label.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ContentPosition.cs
- CrossSiteScriptingValidation.cs
- SmtpNetworkElement.cs
- RadioButtonBaseAdapter.cs
- MsmqReceiveParameters.cs
- CompilerGeneratedAttribute.cs
- InstallerTypeAttribute.cs
- ProfileEventArgs.cs
- TitleStyle.cs
- DataSourceCache.cs
- xmlglyphRunInfo.cs
- PackagingUtilities.cs
- ObjectPersistData.cs
- JsonFaultDetail.cs
- CatalogPartCollection.cs
- PermissionSetTriple.cs
- CoreSwitches.cs
- COM2PropertyPageUITypeConverter.cs
- MailBnfHelper.cs
- BindingContext.cs
- MenuItem.cs
- UInt16Converter.cs
- ArraySet.cs
- ConfigurationValidatorAttribute.cs
- GlyphTypeface.cs
- AlignmentYValidation.cs
- AppDomainUnloadedException.cs
- ObjectQueryProvider.cs
- SplineKeyFrames.cs
- AudioFormatConverter.cs
- PropertyChangedEventArgs.cs
- BindingList.cs
- SHA256Managed.cs
- ImageListStreamer.cs
- ArrayTypeMismatchException.cs