Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / Management / TemplatedMailWebEventProvider.cs / 1 / TemplatedMailWebEventProvider.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Management { using System.Configuration; using System.Configuration.Provider; using System.Collections.Specialized; using System.Web.Util; using System.Net.Mail; using System.Globalization; using System.Web.Configuration; using System.Text; using System.IO; using System.Runtime.Remoting.Messaging; using System.Security.Permissions; using System.Threading; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class TemplatedMailWebEventProvider : MailWebEventProvider, IInternalWebEventProvider { int _nonBufferNotificationSequence = 0; string _templateUrl; bool _detailedTemplateErrors = false; class TemplatedMailErrorFormatterGenerator : ErrorFormatterGenerator { int _eventsRemaining; bool _showDetails; bool _errorFormatterCalled; internal TemplatedMailErrorFormatterGenerator(int eventsRemaining, bool showDetails) { _eventsRemaining = eventsRemaining; _showDetails = showDetails; } internal bool ErrorFormatterCalled { get { return _errorFormatterCalled; } } internal override ErrorFormatter GetErrorFormatter(Exception e) { Exception inner = e.InnerException; _errorFormatterCalled = true; while (inner != null) { if (inner is HttpCompileException) { return new TemplatedMailCompileErrorFormatter((HttpCompileException)inner, _eventsRemaining, _showDetails); } else { inner = inner.InnerException; } } return new TemplatedMailRuntimeErrorFormatter(e, _eventsRemaining, _showDetails); } } internal TemplatedMailWebEventProvider() { } public override void Initialize(string name, NameValueCollection config) { Debug.Trace("TemplatedMailWebEventProvider", "Initializing: name=" + name); ProviderUtil.GetAndRemoveStringAttribute(config, "template", name, ref _templateUrl); if (_templateUrl == null) { throw new ConfigurationErrorsException(SR.GetString(SR.Provider_missing_attribute, "template", name)); } _templateUrl = _templateUrl.Trim(); if (_templateUrl.Length == 0) { throw new ConfigurationErrorsException(SR.GetString(SR.Invalid_provider_attribute, "template", name, _templateUrl)); } if (!UrlPath.IsRelativeUrl(_templateUrl)) { throw new ConfigurationErrorsException(SR.GetString(SR.Invalid_mail_template_provider_attribute, "template", name, _templateUrl)); } _templateUrl = UrlPath.Combine(HttpRuntime.AppDomainAppVirtualPathString, _templateUrl); // VSWhidbey 440081: Guard against templates outside the AppDomain path if (!HttpRuntime.IsPathWithinAppRoot(_templateUrl)) { throw new ConfigurationErrorsException(SR.GetString(SR.Invalid_mail_template_provider_attribute, "template", name, _templateUrl)); } ProviderUtil.GetAndRemoveBooleanAttribute(config, "detailedTemplateErrors", name, ref _detailedTemplateErrors); base.Initialize(name, config); } void GenerateMessageBody( MailMessage msg, WebBaseEventCollection events, DateTime lastNotificationUtc, int discardedSinceLastNotification, int eventsInBuffer, int notificationSequence, EventNotificationType notificationType, int eventsInNotification, int eventsRemaining, int messagesInNotification, int eventsLostDueToMessageLimit, int messageSequence, out bool fatalError) { StringWriter writer = new StringWriter(CultureInfo.InstalledUICulture); MailEventNotificationInfo info = new MailEventNotificationInfo( msg, events, lastNotificationUtc, discardedSinceLastNotification, eventsInBuffer, notificationSequence, notificationType, eventsInNotification, eventsRemaining, messagesInNotification, eventsLostDueToMessageLimit, messageSequence); CallContext.SetData(CurrentEventsName, info); try { TemplatedMailErrorFormatterGenerator gen = new TemplatedMailErrorFormatterGenerator(events.Count + eventsRemaining, _detailedTemplateErrors); HttpServerUtility.ExecuteLocalRequestAndCaptureResponse(_templateUrl, writer, gen); fatalError = gen.ErrorFormatterCalled; if (fatalError) { msg.Subject = HttpUtility.HtmlEncode(SR.GetString(SR.WebEvent_event_email_subject_template_error, notificationSequence.ToString(CultureInfo.InstalledUICulture), messageSequence.ToString(CultureInfo.InstalledUICulture), SubjectPrefix)); } msg.Body = writer.ToString(); msg.IsBodyHtml = true; } finally { CallContext.FreeNamedDataSlot(CurrentEventsName); } } internal override void SendMessage(WebBaseEvent eventRaised) { WebBaseEventCollection events = new WebBaseEventCollection(eventRaised); bool templateError; SendMessageInternal(events, // events DateTime.MinValue, // lastNotificationUtc 0, // discardedSinceLastNotification 0, // eventsInBuffer Interlocked.Increment(ref _nonBufferNotificationSequence), // notificationSequence EventNotificationType.Unbuffered, // notificationType 1, // eventsInNotification 0, // eventsRemaining 1, // messagesInNotification 0, // eventsLostDueToMessageLimit MessageSequenceBase, // messageSequence out templateError); // templateError } internal override void SendMessage(WebBaseEventCollection events, WebEventBufferFlushInfo flushInfo, int eventsInNotification, int eventsRemaining, int messagesInNotification, int eventsLostDueToMessageLimit, int messageSequence, int eventsSent, out bool fatalError) { SendMessageInternal(events, flushInfo.LastNotificationUtc, flushInfo.EventsDiscardedSinceLastNotification, flushInfo.EventsInBuffer, flushInfo.NotificationSequence, flushInfo.NotificationType, eventsInNotification, eventsRemaining, messagesInNotification, eventsLostDueToMessageLimit, messageSequence, out fatalError); } void SendMessageInternal(WebBaseEventCollection events, DateTime lastNotificationUtc, int discardedSinceLastNotification, int eventsInBuffer, int notificationSequence, EventNotificationType notificationType, int eventsInNotification, int eventsRemaining, int messagesInNotification, int eventsLostDueToMessageLimit, int messageSequence, out bool fatalError) { using (MailMessage msg = GetMessage()) { msg.Subject = GenerateSubject(notificationSequence, messageSequence, events, events.Count); GenerateMessageBody( msg, events, lastNotificationUtc, discardedSinceLastNotification, eventsInBuffer, notificationSequence, notificationType, eventsInNotification, eventsRemaining, messagesInNotification, eventsLostDueToMessageLimit, messageSequence, out fatalError); SendMail(msg); } } internal const string CurrentEventsName = "_TWCurEvt"; public static MailEventNotificationInfo CurrentNotification { get { return (MailEventNotificationInfo)CallContext.GetData(CurrentEventsName); } } } [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class MailEventNotificationInfo { WebBaseEventCollection _events; DateTime _lastNotificationUtc; int _discardedSinceLastNotification; int _eventsInBuffer; int _notificationSequence; EventNotificationType _notificationType; int _eventsInNotification; int _eventsRemaining; int _messagesInNotification; int _eventsLostDueToMessageLimit; int _messageSequence; MailMessage _msg; internal MailEventNotificationInfo( MailMessage msg, WebBaseEventCollection events, DateTime lastNotificationUtc, int discardedSinceLastNotification, int eventsInBuffer, int notificationSequence, EventNotificationType notificationType, int eventsInNotification, int eventsRemaining, int messagesInNotification, int eventsLostDueToMessageLimit, int messageSequence) { _events = events; _lastNotificationUtc = lastNotificationUtc; _discardedSinceLastNotification = discardedSinceLastNotification; _eventsInBuffer = eventsInBuffer; _notificationSequence = notificationSequence; _notificationType = notificationType; _eventsInNotification = eventsInNotification; _eventsRemaining = eventsRemaining ; _messagesInNotification = messagesInNotification; _eventsLostDueToMessageLimit = eventsLostDueToMessageLimit; _messageSequence = messageSequence; _msg = msg; } public WebBaseEventCollection Events { get { return _events; } } public EventNotificationType NotificationType { get { return _notificationType; } } public int EventsInNotification { get { return _eventsInNotification; } } public int EventsRemaining { get { return _eventsRemaining; } } public int MessagesInNotification { get { return _messagesInNotification; } } public int EventsInBuffer { get { return _eventsInBuffer; } } public int EventsDiscardedByBuffer { get { return _discardedSinceLastNotification; } } public int EventsDiscardedDueToMessageLimit { get { return _eventsLostDueToMessageLimit; } } public int NotificationSequence { get { return _notificationSequence; } } public int MessageSequence { get { return _messageSequence; } } public DateTime LastNotificationUtc { get { return _lastNotificationUtc; } } public MailMessage Message { get { return _msg; } } } internal class TemplatedMailCompileErrorFormatter : DynamicCompileErrorFormatter { int _eventsRemaining; bool _showDetails; internal TemplatedMailCompileErrorFormatter(HttpCompileException e, int eventsRemaining, bool showDetails) : base(e) { _eventsRemaining = eventsRemaining; _showDetails = showDetails; _hideDetailedCompilerOutput = true; _dontShowVersion = true; } protected override string ErrorTitle { get { return SR.GetString(SR.MailWebEventProvider_template_compile_error, _eventsRemaining.ToString(CultureInfo.InstalledUICulture)); } } protected override string Description { get { if (_showDetails) { return base.Description; } else { return SR.GetString( SR.MailWebEventProvider_template_error_no_details); } } } protected override string MiscSectionTitle { get { if (_showDetails) { return base.MiscSectionTitle; } else { return null; } } } protected override string MiscSectionContent { get { if (_showDetails) { return base.MiscSectionContent; } else { return null; } } } } internal class TemplatedMailRuntimeErrorFormatter : UnhandledErrorFormatter { int _eventsRemaining; bool _showDetails; internal TemplatedMailRuntimeErrorFormatter(Exception e, int eventsRemaining, bool showDetails) : base(e) { _eventsRemaining = eventsRemaining; _showDetails = showDetails; _dontShowVersion = true; } protected override string ErrorTitle { get { if (HttpException.GetHttpCodeForException(Exception) == 404) { return SR.GetString(SR.MailWebEventProvider_template_file_not_found_error, _eventsRemaining.ToString(CultureInfo.InstalledUICulture)); } else { return SR.GetString(SR.MailWebEventProvider_template_runtime_error, _eventsRemaining.ToString(CultureInfo.InstalledUICulture)); } } } protected override string ColoredSquareTitle { get { return null;} } protected override string ColoredSquareContent { get { return null; } } protected override string Description { get { if (_showDetails) { return base.Description; } else { return SR.GetString( SR.MailWebEventProvider_template_error_no_details); } } } protected override string MiscSectionTitle { get { if (_showDetails) { return base.MiscSectionTitle; } else { return null; } } } protected override string MiscSectionContent { get { if (_showDetails) { return base.MiscSectionContent; } else { return null; } } } protected override string ColoredSquare2Title { get { if (_showDetails) { return base.ColoredSquare2Title; } else { return null; } } } protected override string ColoredSquare2Content { get { if (_showDetails) { return base.ColoredSquare2Content; } else { return null; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Management { using System.Configuration; using System.Configuration.Provider; using System.Collections.Specialized; using System.Web.Util; using System.Net.Mail; using System.Globalization; using System.Web.Configuration; using System.Text; using System.IO; using System.Runtime.Remoting.Messaging; using System.Security.Permissions; using System.Threading; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class TemplatedMailWebEventProvider : MailWebEventProvider, IInternalWebEventProvider { int _nonBufferNotificationSequence = 0; string _templateUrl; bool _detailedTemplateErrors = false; class TemplatedMailErrorFormatterGenerator : ErrorFormatterGenerator { int _eventsRemaining; bool _showDetails; bool _errorFormatterCalled; internal TemplatedMailErrorFormatterGenerator(int eventsRemaining, bool showDetails) { _eventsRemaining = eventsRemaining; _showDetails = showDetails; } internal bool ErrorFormatterCalled { get { return _errorFormatterCalled; } } internal override ErrorFormatter GetErrorFormatter(Exception e) { Exception inner = e.InnerException; _errorFormatterCalled = true; while (inner != null) { if (inner is HttpCompileException) { return new TemplatedMailCompileErrorFormatter((HttpCompileException)inner, _eventsRemaining, _showDetails); } else { inner = inner.InnerException; } } return new TemplatedMailRuntimeErrorFormatter(e, _eventsRemaining, _showDetails); } } internal TemplatedMailWebEventProvider() { } public override void Initialize(string name, NameValueCollection config) { Debug.Trace("TemplatedMailWebEventProvider", "Initializing: name=" + name); ProviderUtil.GetAndRemoveStringAttribute(config, "template", name, ref _templateUrl); if (_templateUrl == null) { throw new ConfigurationErrorsException(SR.GetString(SR.Provider_missing_attribute, "template", name)); } _templateUrl = _templateUrl.Trim(); if (_templateUrl.Length == 0) { throw new ConfigurationErrorsException(SR.GetString(SR.Invalid_provider_attribute, "template", name, _templateUrl)); } if (!UrlPath.IsRelativeUrl(_templateUrl)) { throw new ConfigurationErrorsException(SR.GetString(SR.Invalid_mail_template_provider_attribute, "template", name, _templateUrl)); } _templateUrl = UrlPath.Combine(HttpRuntime.AppDomainAppVirtualPathString, _templateUrl); // VSWhidbey 440081: Guard against templates outside the AppDomain path if (!HttpRuntime.IsPathWithinAppRoot(_templateUrl)) { throw new ConfigurationErrorsException(SR.GetString(SR.Invalid_mail_template_provider_attribute, "template", name, _templateUrl)); } ProviderUtil.GetAndRemoveBooleanAttribute(config, "detailedTemplateErrors", name, ref _detailedTemplateErrors); base.Initialize(name, config); } void GenerateMessageBody( MailMessage msg, WebBaseEventCollection events, DateTime lastNotificationUtc, int discardedSinceLastNotification, int eventsInBuffer, int notificationSequence, EventNotificationType notificationType, int eventsInNotification, int eventsRemaining, int messagesInNotification, int eventsLostDueToMessageLimit, int messageSequence, out bool fatalError) { StringWriter writer = new StringWriter(CultureInfo.InstalledUICulture); MailEventNotificationInfo info = new MailEventNotificationInfo( msg, events, lastNotificationUtc, discardedSinceLastNotification, eventsInBuffer, notificationSequence, notificationType, eventsInNotification, eventsRemaining, messagesInNotification, eventsLostDueToMessageLimit, messageSequence); CallContext.SetData(CurrentEventsName, info); try { TemplatedMailErrorFormatterGenerator gen = new TemplatedMailErrorFormatterGenerator(events.Count + eventsRemaining, _detailedTemplateErrors); HttpServerUtility.ExecuteLocalRequestAndCaptureResponse(_templateUrl, writer, gen); fatalError = gen.ErrorFormatterCalled; if (fatalError) { msg.Subject = HttpUtility.HtmlEncode(SR.GetString(SR.WebEvent_event_email_subject_template_error, notificationSequence.ToString(CultureInfo.InstalledUICulture), messageSequence.ToString(CultureInfo.InstalledUICulture), SubjectPrefix)); } msg.Body = writer.ToString(); msg.IsBodyHtml = true; } finally { CallContext.FreeNamedDataSlot(CurrentEventsName); } } internal override void SendMessage(WebBaseEvent eventRaised) { WebBaseEventCollection events = new WebBaseEventCollection(eventRaised); bool templateError; SendMessageInternal(events, // events DateTime.MinValue, // lastNotificationUtc 0, // discardedSinceLastNotification 0, // eventsInBuffer Interlocked.Increment(ref _nonBufferNotificationSequence), // notificationSequence EventNotificationType.Unbuffered, // notificationType 1, // eventsInNotification 0, // eventsRemaining 1, // messagesInNotification 0, // eventsLostDueToMessageLimit MessageSequenceBase, // messageSequence out templateError); // templateError } internal override void SendMessage(WebBaseEventCollection events, WebEventBufferFlushInfo flushInfo, int eventsInNotification, int eventsRemaining, int messagesInNotification, int eventsLostDueToMessageLimit, int messageSequence, int eventsSent, out bool fatalError) { SendMessageInternal(events, flushInfo.LastNotificationUtc, flushInfo.EventsDiscardedSinceLastNotification, flushInfo.EventsInBuffer, flushInfo.NotificationSequence, flushInfo.NotificationType, eventsInNotification, eventsRemaining, messagesInNotification, eventsLostDueToMessageLimit, messageSequence, out fatalError); } void SendMessageInternal(WebBaseEventCollection events, DateTime lastNotificationUtc, int discardedSinceLastNotification, int eventsInBuffer, int notificationSequence, EventNotificationType notificationType, int eventsInNotification, int eventsRemaining, int messagesInNotification, int eventsLostDueToMessageLimit, int messageSequence, out bool fatalError) { using (MailMessage msg = GetMessage()) { msg.Subject = GenerateSubject(notificationSequence, messageSequence, events, events.Count); GenerateMessageBody( msg, events, lastNotificationUtc, discardedSinceLastNotification, eventsInBuffer, notificationSequence, notificationType, eventsInNotification, eventsRemaining, messagesInNotification, eventsLostDueToMessageLimit, messageSequence, out fatalError); SendMail(msg); } } internal const string CurrentEventsName = "_TWCurEvt"; public static MailEventNotificationInfo CurrentNotification { get { return (MailEventNotificationInfo)CallContext.GetData(CurrentEventsName); } } } [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class MailEventNotificationInfo { WebBaseEventCollection _events; DateTime _lastNotificationUtc; int _discardedSinceLastNotification; int _eventsInBuffer; int _notificationSequence; EventNotificationType _notificationType; int _eventsInNotification; int _eventsRemaining; int _messagesInNotification; int _eventsLostDueToMessageLimit; int _messageSequence; MailMessage _msg; internal MailEventNotificationInfo( MailMessage msg, WebBaseEventCollection events, DateTime lastNotificationUtc, int discardedSinceLastNotification, int eventsInBuffer, int notificationSequence, EventNotificationType notificationType, int eventsInNotification, int eventsRemaining, int messagesInNotification, int eventsLostDueToMessageLimit, int messageSequence) { _events = events; _lastNotificationUtc = lastNotificationUtc; _discardedSinceLastNotification = discardedSinceLastNotification; _eventsInBuffer = eventsInBuffer; _notificationSequence = notificationSequence; _notificationType = notificationType; _eventsInNotification = eventsInNotification; _eventsRemaining = eventsRemaining ; _messagesInNotification = messagesInNotification; _eventsLostDueToMessageLimit = eventsLostDueToMessageLimit; _messageSequence = messageSequence; _msg = msg; } public WebBaseEventCollection Events { get { return _events; } } public EventNotificationType NotificationType { get { return _notificationType; } } public int EventsInNotification { get { return _eventsInNotification; } } public int EventsRemaining { get { return _eventsRemaining; } } public int MessagesInNotification { get { return _messagesInNotification; } } public int EventsInBuffer { get { return _eventsInBuffer; } } public int EventsDiscardedByBuffer { get { return _discardedSinceLastNotification; } } public int EventsDiscardedDueToMessageLimit { get { return _eventsLostDueToMessageLimit; } } public int NotificationSequence { get { return _notificationSequence; } } public int MessageSequence { get { return _messageSequence; } } public DateTime LastNotificationUtc { get { return _lastNotificationUtc; } } public MailMessage Message { get { return _msg; } } } internal class TemplatedMailCompileErrorFormatter : DynamicCompileErrorFormatter { int _eventsRemaining; bool _showDetails; internal TemplatedMailCompileErrorFormatter(HttpCompileException e, int eventsRemaining, bool showDetails) : base(e) { _eventsRemaining = eventsRemaining; _showDetails = showDetails; _hideDetailedCompilerOutput = true; _dontShowVersion = true; } protected override string ErrorTitle { get { return SR.GetString(SR.MailWebEventProvider_template_compile_error, _eventsRemaining.ToString(CultureInfo.InstalledUICulture)); } } protected override string Description { get { if (_showDetails) { return base.Description; } else { return SR.GetString( SR.MailWebEventProvider_template_error_no_details); } } } protected override string MiscSectionTitle { get { if (_showDetails) { return base.MiscSectionTitle; } else { return null; } } } protected override string MiscSectionContent { get { if (_showDetails) { return base.MiscSectionContent; } else { return null; } } } } internal class TemplatedMailRuntimeErrorFormatter : UnhandledErrorFormatter { int _eventsRemaining; bool _showDetails; internal TemplatedMailRuntimeErrorFormatter(Exception e, int eventsRemaining, bool showDetails) : base(e) { _eventsRemaining = eventsRemaining; _showDetails = showDetails; _dontShowVersion = true; } protected override string ErrorTitle { get { if (HttpException.GetHttpCodeForException(Exception) == 404) { return SR.GetString(SR.MailWebEventProvider_template_file_not_found_error, _eventsRemaining.ToString(CultureInfo.InstalledUICulture)); } else { return SR.GetString(SR.MailWebEventProvider_template_runtime_error, _eventsRemaining.ToString(CultureInfo.InstalledUICulture)); } } } protected override string ColoredSquareTitle { get { return null;} } protected override string ColoredSquareContent { get { return null; } } protected override string Description { get { if (_showDetails) { return base.Description; } else { return SR.GetString( SR.MailWebEventProvider_template_error_no_details); } } } protected override string MiscSectionTitle { get { if (_showDetails) { return base.MiscSectionTitle; } else { return null; } } } protected override string MiscSectionContent { get { if (_showDetails) { return base.MiscSectionContent; } else { return null; } } } protected override string ColoredSquare2Title { get { if (_showDetails) { return base.ColoredSquare2Title; } else { return null; } } } protected override string ColoredSquare2Content { get { if (_showDetails) { return base.ColoredSquare2Content; } else { return null; } } } } } // 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
- SortAction.cs
- GestureRecognizer.cs
- BroadcastEventHelper.cs
- DbDataReader.cs
- LinkedResourceCollection.cs
- XmlElementAttributes.cs
- FontInfo.cs
- HttpCapabilitiesBase.cs
- MultilineStringEditor.cs
- HandlerFactoryCache.cs
- PenContexts.cs
- GradientSpreadMethodValidation.cs
- DataGridViewCellParsingEventArgs.cs
- TableItemPatternIdentifiers.cs
- BlockingCollection.cs
- PenThreadWorker.cs
- PropertyGridEditorPart.cs
- ObservableDictionary.cs
- NamedElement.cs
- oledbmetadatacollectionnames.cs
- PreviewPrintController.cs
- RepeatButton.cs
- InvokeGenerator.cs
- DrawingCollection.cs
- SiteMapNodeItem.cs
- ViewUtilities.cs
- DeclaredTypeElementCollection.cs
- WSMessageEncoding.cs
- TraceSource.cs
- Version.cs
- Deflater.cs
- DataListItemEventArgs.cs
- DropShadowBitmapEffect.cs
- TransactionTraceIdentifier.cs
- MouseEvent.cs
- filewebrequest.cs
- DataGridViewCellConverter.cs
- HashAlgorithm.cs
- ExpressionBuilder.cs
- FontSizeConverter.cs
- GeneralTransformCollection.cs
- SchemaImporterExtension.cs
- CustomMenuItemCollection.cs
- StrongBox.cs
- Page.cs
- NameValueCache.cs
- EventLogPermissionEntry.cs
- MatrixTransform3D.cs
- UndirectedGraph.cs
- DbConnectionOptions.cs
- FilterElement.cs
- TransformGroup.cs
- CounterSample.cs
- ExtensionFile.cs
- ToolStripDropDownDesigner.cs
- BrowsableAttribute.cs
- AuthenticatedStream.cs
- Expressions.cs
- QuaternionAnimation.cs
- BamlBinaryReader.cs
- MethodBuilder.cs
- TableCell.cs
- SchemaEntity.cs
- ThousandthOfEmRealPoints.cs
- SecurityElement.cs
- GestureRecognizer.cs
- CodeDOMUtility.cs
- TabControlEvent.cs
- DisplayInformation.cs
- NamespaceCollection.cs
- Thumb.cs
- EntitySqlQueryBuilder.cs
- DataSpaceManager.cs
- OleDbCommand.cs
- KeyValuePairs.cs
- XamlHostingSectionGroup.cs
- DesignerTransactionCloseEvent.cs
- GuidelineSet.cs
- WmlTextBoxAdapter.cs
- TreeViewAutomationPeer.cs
- CodeObject.cs
- HttpApplicationFactory.cs
- StringPropertyBuilder.cs
- ChildDocumentBlock.cs
- ResourceWriter.cs
- COM2Properties.cs
- XmlNodeList.cs
- Lasso.cs
- NamespaceEmitter.cs
- SubpageParaClient.cs
- WebPartConnectVerb.cs
- Point3DConverter.cs
- TraceListeners.cs
- RegexTree.cs
- OrderablePartitioner.cs
- NominalTypeEliminator.cs
- HttpStreamFormatter.cs
- TraceInternal.cs
- ChannelServices.cs
- MessageHeaderDescription.cs