Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / loginstatus.cs / 1305376 / loginstatus.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System.Collections; using System.ComponentModel; using System.Drawing.Design; using System.Security.Permissions; using System.Web.Security; using System.Web.UI; ////// Displays a link or button that allows the user to login or logout of the site. /// Shows whether the user is currently logged in. /// [ Bindable(false), DefaultEvent("LoggingOut"), Designer("System.Web.UI.Design.WebControls.LoginStatusDesigner, " + AssemblyRef.SystemDesign), ] public class LoginStatus : CompositeControl { private static readonly object EventLoggingOut = new object(); private static readonly object EventLoggedOut = new object(); private LinkButton _logInLinkButton; private ImageButton _logInImageButton; private LinkButton _logOutLinkButton; private ImageButton _logOutImageButton; private bool _loggedIn; ////// Whether a user is currently logged in. /// NOTE: We should not need to save this in ControlState or ViewState. At one point, we /// were using server controls with event handlers to control logging in and logging out. /// In that scenario, we needed to save the LoggedIn boolean in ViewState to hookup the /// correct event listener on postback. Currently, we use a hyperlink for logging in and server /// controls for logging out, so we should not need to persist this property. The property is /// always set in OnPreRender, and is only used after that point in the lifecycle. /// (VSWhidbey 81266) /// private bool LoggedIn { get { return _loggedIn; } set { _loggedIn = value; } } ////// The URL of the image to be shown for the login button. /// [ WebCategory("Appearance"), DefaultValue(""), WebSysDescription(SR.LoginStatus_LoginImageUrl), Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)), UrlProperty() ] public virtual string LoginImageUrl { get { object obj = ViewState["LoginImageUrl"]; return (obj == null) ? String.Empty : (string) obj; } set { ViewState["LoginImageUrl"] = value; } } ////// The text to be shown for the login button. /// [ Localizable(true), WebCategory("Appearance"), WebSysDefaultValue(SR.LoginStatus_DefaultLoginText), WebSysDescription(SR.LoginStatus_LoginText) ] public virtual string LoginText { get { object obj = ViewState["LoginText"]; return (obj == null) ? SR.GetString(SR.LoginStatus_DefaultLoginText) : (string) obj; } set { ViewState["LoginText"] = value; } } ////// The action to perform after logging out. /// [ WebCategory("Behavior"), DefaultValue(LogoutAction.Refresh), Themeable(false), WebSysDescription(SR.LoginStatus_LogoutAction) ] public virtual LogoutAction LogoutAction { get { object obj = ViewState["LogoutAction"]; return (obj == null) ? LogoutAction.Refresh : (LogoutAction) obj; } set { if (value < LogoutAction.Refresh || value > LogoutAction.RedirectToLoginPage) { throw new ArgumentOutOfRangeException("value"); } ViewState["LogoutAction"] = value; } } ////// The URL of the image to be shown for the logout button. /// [ WebCategory("Appearance"), DefaultValue(""), WebSysDescription(SR.LoginStatus_LogoutImageUrl), Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)), UrlProperty() ] public virtual string LogoutImageUrl { get { object obj = ViewState["LogoutImageUrl"]; return (obj == null) ? String.Empty : (string) obj; } set { ViewState["LogoutImageUrl"] = value; } } ////// The URL redirected to after logging out. /// [ WebCategory("Behavior"), DefaultValue(""), WebSysDescription(SR.LoginStatus_LogoutPageUrl), Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)), Themeable(false), UrlProperty() ] public virtual string LogoutPageUrl { get { object obj = ViewState["LogoutPageUrl"]; return (obj == null) ? String.Empty : (string) obj; } set { ViewState["LogoutPageUrl"] = value; } } ////// The text to be shown for the logout button. /// [ Localizable(true), WebCategory("Appearance"), WebSysDefaultValue(SR.LoginStatus_DefaultLogoutText), WebSysDescription(SR.LoginStatus_LogoutText) ] public virtual string LogoutText { get { object obj = ViewState["LogoutText"]; return (obj == null) ? SR.GetString(SR.LoginStatus_DefaultLogoutText) : (string) obj; } set { ViewState["LogoutText"] = value; } } private string NavigateUrl { get { if (!DesignMode) { return FormsAuthentication.GetLoginPage(null, true); } // For the designer to render a hyperlink return "url"; } } protected override HtmlTextWriterTag TagKey { get { return HtmlTextWriterTag.A; } } ////// Raised after the user is logged out. /// [ WebCategory("Action"), WebSysDescription(SR.LoginStatus_LoggedOut) ] public event EventHandler LoggedOut { add { Events.AddHandler(EventLoggedOut, value); } remove { Events.RemoveHandler(EventLoggedOut, value); } } ////// Raised before the user is logged out. /// [ WebCategory("Action"), WebSysDescription(SR.LoginStatus_LoggingOut) ] public event LoginCancelEventHandler LoggingOut { add { Events.AddHandler(EventLoggingOut, value); } remove { Events.RemoveHandler(EventLoggingOut, value); } } ////// Creates all the child controls that may be rendered. /// protected internal override void CreateChildControls() { Controls.Clear(); _logInLinkButton = new LinkButton(); _logInImageButton = new ImageButton(); _logOutLinkButton = new LinkButton(); _logOutImageButton = new ImageButton(); _logInLinkButton.EnableViewState = false; _logInImageButton.EnableViewState = false; _logOutLinkButton.EnableViewState = false; _logOutImageButton.EnableViewState = false; // Disable theming of child controls (VSWhidbey 86010) _logInLinkButton.EnableTheming = false; _logInImageButton.EnableTheming = false; _logInLinkButton.CausesValidation = false; _logInImageButton.CausesValidation = false; _logOutLinkButton.EnableTheming = false; _logOutImageButton.EnableTheming = false; _logOutLinkButton.CausesValidation = false; _logOutImageButton.CausesValidation = false; CommandEventHandler handler = new CommandEventHandler(LogoutClicked); _logOutLinkButton.Command += handler; _logOutImageButton.Command += handler; handler = new CommandEventHandler(LoginClicked); _logInLinkButton.Command += handler; _logInImageButton.Command += handler; Controls.Add(_logOutLinkButton); Controls.Add(_logOutImageButton); Controls.Add(_logInLinkButton); Controls.Add(_logInImageButton); } ////// Logs out and redirects the user when the logout button is clicked. /// private void LogoutClicked(object Source, CommandEventArgs e) { LoginCancelEventArgs cancelEventArgs = new LoginCancelEventArgs(); OnLoggingOut(cancelEventArgs); if (cancelEventArgs.Cancel) { return; } FormsAuthentication.SignOut(); // BugBug: revert to old behavior after SignOut. Page.Response.Clear(); Page.Response.StatusCode = 200; OnLoggedOut(EventArgs.Empty); // Redirect the user as appropriate switch (LogoutAction) { case LogoutAction.RedirectToLoginPage: // We do not want the ReturnUrl in the query string, since this is an information // disclosure. So we must use this instead of FormsAuthentication.RedirectToLoginPage(). // (VSWhidbey 438091) Page.Response.Redirect(FormsAuthentication.LoginUrl, false); break; case LogoutAction.Refresh: // If the form method is GET, then we must not include the query string, since // it will cause an infinite redirect loop. If the form method is POST (or there // is no form), then we must include the query string, since the developer could // be using the query string to drive the logic of their page. (VSWhidbey 304531) if (Page.Form != null && String.Equals(Page.Form.Method, "get", StringComparison.OrdinalIgnoreCase)) { Page.Response.Redirect(Page.Request.ClientFilePath.VirtualPathString, false); } else { Page.Response.Redirect(Page.Request.RawUrl, false); } break; case LogoutAction.Redirect: string url = LogoutPageUrl; if (!String.IsNullOrEmpty(url)) { url = ResolveClientUrl(url); } else { // Use FormsAuthentication.LoginUrl as a fallback url = FormsAuthentication.LoginUrl; } Page.Response.Redirect(url, false); break; } } private void LoginClicked(object Source, CommandEventArgs e) { Page.Response.Redirect(ResolveClientUrl(NavigateUrl), false); } ////// Raises the LoggedOut event. /// protected virtual void OnLoggedOut(EventArgs e) { EventHandler handler = (EventHandler)Events[EventLoggedOut]; if (handler != null) { handler(this, e); } } ////// Raises the LoggingOut event. /// protected virtual void OnLoggingOut(LoginCancelEventArgs e) { LoginCancelEventHandler handler = (LoginCancelEventHandler)Events[EventLoggingOut]; if (handler != null) { handler(this, e); } } ////// Determines whether a user is logged in, and gets the URL of the login page. /// protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); // Must be set in PreRender instead of Render, because Page.Request.IsAuthenticated is not // valid at design time. LoggedIn = Page.Request.IsAuthenticated; } protected internal override void Render(HtmlTextWriter writer) { RenderContents(writer); } protected internal override void RenderContents(HtmlTextWriter writer) { if (Page != null) { Page.VerifyRenderingInServerForm(this); } SetChildProperties(); if ((ID != null) && (ID.Length != 0)) { // NOTE: Adding the attribute here is somewhat hacky... we're assuming // the next tag that gets rendered is the one that needs to // have the id on it. writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID); } base.RenderContents(writer); } ////// Sets the visiblity, style, and other properties of child controls. /// private void SetChildProperties() { EnsureChildControls(); // Set all buttons to nonvisible, then later set the selected button to visible _logInLinkButton.Visible = false; _logInImageButton.Visible = false; _logOutLinkButton.Visible = false; _logOutImageButton.Visible = false; WebControl visibleControl = null; bool loggedIn = LoggedIn; if (loggedIn) { string logoutImageUrl = LogoutImageUrl; if (logoutImageUrl.Length > 0) { _logOutImageButton.AlternateText = LogoutText; _logOutImageButton.ImageUrl = logoutImageUrl; visibleControl = _logOutImageButton; } else { _logOutLinkButton.Text = LogoutText; visibleControl = _logOutLinkButton; } } else { string loginImageUrl = LoginImageUrl; if (loginImageUrl.Length > 0) { _logInImageButton.AlternateText = LoginText; _logInImageButton.ImageUrl = loginImageUrl; visibleControl = _logInImageButton; } else { _logInLinkButton.Text = LoginText; visibleControl = _logInLinkButton; } } visibleControl.CopyBaseAttributes(this); visibleControl.ApplyStyle(ControlStyle); visibleControl.Visible = true; } ////// /// Allows the designer to set the LoggedIn and NavigateUrl properties for proper rendering in the designer. /// [SecurityPermission(SecurityAction.Demand, Unrestricted = true)] protected override void SetDesignModeState(IDictionary data) { if (data != null) { object o = data["LoggedIn"]; if (o != null) { LoggedIn = (bool)o; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System.Collections; using System.ComponentModel; using System.Drawing.Design; using System.Security.Permissions; using System.Web.Security; using System.Web.UI; ////// Displays a link or button that allows the user to login or logout of the site. /// Shows whether the user is currently logged in. /// [ Bindable(false), DefaultEvent("LoggingOut"), Designer("System.Web.UI.Design.WebControls.LoginStatusDesigner, " + AssemblyRef.SystemDesign), ] public class LoginStatus : CompositeControl { private static readonly object EventLoggingOut = new object(); private static readonly object EventLoggedOut = new object(); private LinkButton _logInLinkButton; private ImageButton _logInImageButton; private LinkButton _logOutLinkButton; private ImageButton _logOutImageButton; private bool _loggedIn; ////// Whether a user is currently logged in. /// NOTE: We should not need to save this in ControlState or ViewState. At one point, we /// were using server controls with event handlers to control logging in and logging out. /// In that scenario, we needed to save the LoggedIn boolean in ViewState to hookup the /// correct event listener on postback. Currently, we use a hyperlink for logging in and server /// controls for logging out, so we should not need to persist this property. The property is /// always set in OnPreRender, and is only used after that point in the lifecycle. /// (VSWhidbey 81266) /// private bool LoggedIn { get { return _loggedIn; } set { _loggedIn = value; } } ////// The URL of the image to be shown for the login button. /// [ WebCategory("Appearance"), DefaultValue(""), WebSysDescription(SR.LoginStatus_LoginImageUrl), Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)), UrlProperty() ] public virtual string LoginImageUrl { get { object obj = ViewState["LoginImageUrl"]; return (obj == null) ? String.Empty : (string) obj; } set { ViewState["LoginImageUrl"] = value; } } ////// The text to be shown for the login button. /// [ Localizable(true), WebCategory("Appearance"), WebSysDefaultValue(SR.LoginStatus_DefaultLoginText), WebSysDescription(SR.LoginStatus_LoginText) ] public virtual string LoginText { get { object obj = ViewState["LoginText"]; return (obj == null) ? SR.GetString(SR.LoginStatus_DefaultLoginText) : (string) obj; } set { ViewState["LoginText"] = value; } } ////// The action to perform after logging out. /// [ WebCategory("Behavior"), DefaultValue(LogoutAction.Refresh), Themeable(false), WebSysDescription(SR.LoginStatus_LogoutAction) ] public virtual LogoutAction LogoutAction { get { object obj = ViewState["LogoutAction"]; return (obj == null) ? LogoutAction.Refresh : (LogoutAction) obj; } set { if (value < LogoutAction.Refresh || value > LogoutAction.RedirectToLoginPage) { throw new ArgumentOutOfRangeException("value"); } ViewState["LogoutAction"] = value; } } ////// The URL of the image to be shown for the logout button. /// [ WebCategory("Appearance"), DefaultValue(""), WebSysDescription(SR.LoginStatus_LogoutImageUrl), Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)), UrlProperty() ] public virtual string LogoutImageUrl { get { object obj = ViewState["LogoutImageUrl"]; return (obj == null) ? String.Empty : (string) obj; } set { ViewState["LogoutImageUrl"] = value; } } ////// The URL redirected to after logging out. /// [ WebCategory("Behavior"), DefaultValue(""), WebSysDescription(SR.LoginStatus_LogoutPageUrl), Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)), Themeable(false), UrlProperty() ] public virtual string LogoutPageUrl { get { object obj = ViewState["LogoutPageUrl"]; return (obj == null) ? String.Empty : (string) obj; } set { ViewState["LogoutPageUrl"] = value; } } ////// The text to be shown for the logout button. /// [ Localizable(true), WebCategory("Appearance"), WebSysDefaultValue(SR.LoginStatus_DefaultLogoutText), WebSysDescription(SR.LoginStatus_LogoutText) ] public virtual string LogoutText { get { object obj = ViewState["LogoutText"]; return (obj == null) ? SR.GetString(SR.LoginStatus_DefaultLogoutText) : (string) obj; } set { ViewState["LogoutText"] = value; } } private string NavigateUrl { get { if (!DesignMode) { return FormsAuthentication.GetLoginPage(null, true); } // For the designer to render a hyperlink return "url"; } } protected override HtmlTextWriterTag TagKey { get { return HtmlTextWriterTag.A; } } ////// Raised after the user is logged out. /// [ WebCategory("Action"), WebSysDescription(SR.LoginStatus_LoggedOut) ] public event EventHandler LoggedOut { add { Events.AddHandler(EventLoggedOut, value); } remove { Events.RemoveHandler(EventLoggedOut, value); } } ////// Raised before the user is logged out. /// [ WebCategory("Action"), WebSysDescription(SR.LoginStatus_LoggingOut) ] public event LoginCancelEventHandler LoggingOut { add { Events.AddHandler(EventLoggingOut, value); } remove { Events.RemoveHandler(EventLoggingOut, value); } } ////// Creates all the child controls that may be rendered. /// protected internal override void CreateChildControls() { Controls.Clear(); _logInLinkButton = new LinkButton(); _logInImageButton = new ImageButton(); _logOutLinkButton = new LinkButton(); _logOutImageButton = new ImageButton(); _logInLinkButton.EnableViewState = false; _logInImageButton.EnableViewState = false; _logOutLinkButton.EnableViewState = false; _logOutImageButton.EnableViewState = false; // Disable theming of child controls (VSWhidbey 86010) _logInLinkButton.EnableTheming = false; _logInImageButton.EnableTheming = false; _logInLinkButton.CausesValidation = false; _logInImageButton.CausesValidation = false; _logOutLinkButton.EnableTheming = false; _logOutImageButton.EnableTheming = false; _logOutLinkButton.CausesValidation = false; _logOutImageButton.CausesValidation = false; CommandEventHandler handler = new CommandEventHandler(LogoutClicked); _logOutLinkButton.Command += handler; _logOutImageButton.Command += handler; handler = new CommandEventHandler(LoginClicked); _logInLinkButton.Command += handler; _logInImageButton.Command += handler; Controls.Add(_logOutLinkButton); Controls.Add(_logOutImageButton); Controls.Add(_logInLinkButton); Controls.Add(_logInImageButton); } ////// Logs out and redirects the user when the logout button is clicked. /// private void LogoutClicked(object Source, CommandEventArgs e) { LoginCancelEventArgs cancelEventArgs = new LoginCancelEventArgs(); OnLoggingOut(cancelEventArgs); if (cancelEventArgs.Cancel) { return; } FormsAuthentication.SignOut(); // BugBug: revert to old behavior after SignOut. Page.Response.Clear(); Page.Response.StatusCode = 200; OnLoggedOut(EventArgs.Empty); // Redirect the user as appropriate switch (LogoutAction) { case LogoutAction.RedirectToLoginPage: // We do not want the ReturnUrl in the query string, since this is an information // disclosure. So we must use this instead of FormsAuthentication.RedirectToLoginPage(). // (VSWhidbey 438091) Page.Response.Redirect(FormsAuthentication.LoginUrl, false); break; case LogoutAction.Refresh: // If the form method is GET, then we must not include the query string, since // it will cause an infinite redirect loop. If the form method is POST (or there // is no form), then we must include the query string, since the developer could // be using the query string to drive the logic of their page. (VSWhidbey 304531) if (Page.Form != null && String.Equals(Page.Form.Method, "get", StringComparison.OrdinalIgnoreCase)) { Page.Response.Redirect(Page.Request.ClientFilePath.VirtualPathString, false); } else { Page.Response.Redirect(Page.Request.RawUrl, false); } break; case LogoutAction.Redirect: string url = LogoutPageUrl; if (!String.IsNullOrEmpty(url)) { url = ResolveClientUrl(url); } else { // Use FormsAuthentication.LoginUrl as a fallback url = FormsAuthentication.LoginUrl; } Page.Response.Redirect(url, false); break; } } private void LoginClicked(object Source, CommandEventArgs e) { Page.Response.Redirect(ResolveClientUrl(NavigateUrl), false); } ////// Raises the LoggedOut event. /// protected virtual void OnLoggedOut(EventArgs e) { EventHandler handler = (EventHandler)Events[EventLoggedOut]; if (handler != null) { handler(this, e); } } ////// Raises the LoggingOut event. /// protected virtual void OnLoggingOut(LoginCancelEventArgs e) { LoginCancelEventHandler handler = (LoginCancelEventHandler)Events[EventLoggingOut]; if (handler != null) { handler(this, e); } } ////// Determines whether a user is logged in, and gets the URL of the login page. /// protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); // Must be set in PreRender instead of Render, because Page.Request.IsAuthenticated is not // valid at design time. LoggedIn = Page.Request.IsAuthenticated; } protected internal override void Render(HtmlTextWriter writer) { RenderContents(writer); } protected internal override void RenderContents(HtmlTextWriter writer) { if (Page != null) { Page.VerifyRenderingInServerForm(this); } SetChildProperties(); if ((ID != null) && (ID.Length != 0)) { // NOTE: Adding the attribute here is somewhat hacky... we're assuming // the next tag that gets rendered is the one that needs to // have the id on it. writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID); } base.RenderContents(writer); } ////// Sets the visiblity, style, and other properties of child controls. /// private void SetChildProperties() { EnsureChildControls(); // Set all buttons to nonvisible, then later set the selected button to visible _logInLinkButton.Visible = false; _logInImageButton.Visible = false; _logOutLinkButton.Visible = false; _logOutImageButton.Visible = false; WebControl visibleControl = null; bool loggedIn = LoggedIn; if (loggedIn) { string logoutImageUrl = LogoutImageUrl; if (logoutImageUrl.Length > 0) { _logOutImageButton.AlternateText = LogoutText; _logOutImageButton.ImageUrl = logoutImageUrl; visibleControl = _logOutImageButton; } else { _logOutLinkButton.Text = LogoutText; visibleControl = _logOutLinkButton; } } else { string loginImageUrl = LoginImageUrl; if (loginImageUrl.Length > 0) { _logInImageButton.AlternateText = LoginText; _logInImageButton.ImageUrl = loginImageUrl; visibleControl = _logInImageButton; } else { _logInLinkButton.Text = LoginText; visibleControl = _logInLinkButton; } } visibleControl.CopyBaseAttributes(this); visibleControl.ApplyStyle(ControlStyle); visibleControl.Visible = true; } ////// /// Allows the designer to set the LoggedIn and NavigateUrl properties for proper rendering in the designer. /// [SecurityPermission(SecurityAction.Demand, Unrestricted = true)] protected override void SetDesignModeState(IDictionary data) { if (data != null) { object o = data["LoggedIn"]; if (o != null) { LoggedIn = (bool)o; } } } } } // 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
- ComplusEndpointConfigContainer.cs
- AbsoluteQuery.cs
- ProgressBar.cs
- HwndKeyboardInputProvider.cs
- Attributes.cs
- XsltLibrary.cs
- SequentialOutput.cs
- EnlistmentTraceIdentifier.cs
- StatusBarPanelClickEvent.cs
- ChtmlPhoneCallAdapter.cs
- ElementAction.cs
- Page.cs
- TextureBrush.cs
- ClusterSafeNativeMethods.cs
- OutputCacheProfile.cs
- TimersDescriptionAttribute.cs
- Error.cs
- GeneralTransform.cs
- TimeZoneInfo.cs
- DBDataPermission.cs
- SmiMetaData.cs
- MemoryStream.cs
- ThicknessKeyFrameCollection.cs
- Attributes.cs
- ByteStreamMessageEncoderFactory.cs
- ImageSourceConverter.cs
- CollectionView.cs
- SelectionProcessor.cs
- TrackPoint.cs
- Screen.cs
- SoundPlayer.cs
- _CommandStream.cs
- ListItem.cs
- _Events.cs
- RelatedCurrencyManager.cs
- ItemList.cs
- SecurityTokenResolver.cs
- IxmlLineInfo.cs
- DBCSCodePageEncoding.cs
- ProtocolState.cs
- CategoryNameCollection.cs
- DataGridViewRow.cs
- ListItemCollection.cs
- DrawingVisualDrawingContext.cs
- SerializationException.cs
- Point3DCollection.cs
- XmlReflectionMember.cs
- WsdlContractConversionContext.cs
- TableStyle.cs
- XmlSchemaSimpleContentRestriction.cs
- RowType.cs
- CodeCastExpression.cs
- LoginView.cs
- _DisconnectOverlappedAsyncResult.cs
- SqlWebEventProvider.cs
- WindowInteractionStateTracker.cs
- Image.cs
- UnicodeEncoding.cs
- BrowserCapabilitiesFactory.cs
- SourceElementsCollection.cs
- RelatedCurrencyManager.cs
- exports.cs
- BidPrivateBase.cs
- Vector3D.cs
- TypeGeneratedEventArgs.cs
- PackagePartCollection.cs
- _FtpDataStream.cs
- ToolStripPanelSelectionGlyph.cs
- XhtmlConformanceSection.cs
- XPathExpr.cs
- ProviderCollection.cs
- SecurityCriticalDataForSet.cs
- Tracer.cs
- DiscoveryClientRequestChannel.cs
- RuntimeHandles.cs
- RouteTable.cs
- ComplexType.cs
- DataListItemEventArgs.cs
- InstanceData.cs
- TreeView.cs
- ThicknessKeyFrameCollection.cs
- Keyboard.cs
- WindowsListViewItemCheckBox.cs
- SecurityRuntime.cs
- TypeExtension.cs
- HashCodeCombiner.cs
- TextTreePropertyUndoUnit.cs
- PowerModeChangedEventArgs.cs
- PerformanceCounterManager.cs
- EditorResources.cs
- DataFieldConverter.cs
- TransformDescriptor.cs
- SqlUnionizer.cs
- altserialization.cs
- DoubleCollection.cs
- CallbackTimeoutsElement.cs
- ApplicationProxyInternal.cs
- CheckBoxRenderer.cs
- OutputCacheProfileCollection.cs
- ExceptionRoutedEventArgs.cs