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
- DuplicateWaitObjectException.cs
- BasePropertyDescriptor.cs
- DbDeleteCommandTree.cs
- LineProperties.cs
- Int64Animation.cs
- XamlSerializerUtil.cs
- ChameleonKey.cs
- IconBitmapDecoder.cs
- RulePatternOps.cs
- SerializationInfoEnumerator.cs
- SQLBytesStorage.cs
- XmlParserContext.cs
- TemplateParser.cs
- PropertyChangingEventArgs.cs
- EventMappingSettings.cs
- WindowsIPAddress.cs
- ProfileParameter.cs
- _LoggingObject.cs
- DocumentOrderComparer.cs
- webbrowsersite.cs
- SortFieldComparer.cs
- ProcessStartInfo.cs
- mediaclock.cs
- InterleavedZipPartStream.cs
- IndexerNameAttribute.cs
- DbProviderSpecificTypePropertyAttribute.cs
- XmlSerializer.cs
- ImageBrush.cs
- SerializationException.cs
- QuaternionAnimation.cs
- HwndPanningFeedback.cs
- ErrorEventArgs.cs
- BindingSource.cs
- HtmlElementErrorEventArgs.cs
- DrawingContextDrawingContextWalker.cs
- PointConverter.cs
- Coordinator.cs
- Timer.cs
- QuestionEventArgs.cs
- TrustLevel.cs
- DependencyPropertyChangedEventArgs.cs
- ResourceWriter.cs
- TdsRecordBufferSetter.cs
- SQLMoney.cs
- BindingExpressionUncommonField.cs
- Models.cs
- XmlSchemaImporter.cs
- CodeCastExpression.cs
- MachineKeyConverter.cs
- XmlUtilWriter.cs
- XmlSchemaObjectTable.cs
- TypeForwardedToAttribute.cs
- WebPartAuthorizationEventArgs.cs
- PropertyPushdownHelper.cs
- InvokeFunc.cs
- CaseKeyBox.xaml.cs
- SymbolEqualComparer.cs
- SafeNativeMethods.cs
- BordersPage.cs
- ComponentChangedEvent.cs
- CSharpCodeProvider.cs
- PageAsyncTaskManager.cs
- Directory.cs
- MarkupObject.cs
- ServiceNotStartedException.cs
- StaticSiteMapProvider.cs
- Int32RectValueSerializer.cs
- StringSorter.cs
- ConditionBrowserDialog.cs
- WhitespaceRuleLookup.cs
- dataobject.cs
- ListBoxDesigner.cs
- DrawingAttributesDefaultValueFactory.cs
- Composition.cs
- QilGenerator.cs
- WsdlInspector.cs
- MasterPage.cs
- ColorConverter.cs
- CodeExporter.cs
- ConfigDefinitionUpdates.cs
- DummyDataSource.cs
- EntityModelSchemaGenerator.cs
- Style.cs
- ThicknessConverter.cs
- SHA512.cs
- TextPattern.cs
- VersionUtil.cs
- BinaryNode.cs
- XmlNodeWriter.cs
- OracleConnectionFactory.cs
- Win32KeyboardDevice.cs
- TableProvider.cs
- Encoder.cs
- OperationInvokerBehavior.cs
- EDesignUtil.cs
- OracleTransaction.cs
- XsltQilFactory.cs
- XmlSubtreeReader.cs
- Calendar.cs
- FormatterConverter.cs