Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Policy / Site.cs / 1305376 / Site.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] // // // Site.cs // // Site is an IIdentity representing internet sites. // using System; using System.Diagnostics.Contracts; using System.Globalization; using System.Security.Permissions; using System.Security.Util; namespace System.Security.Policy { [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public sealed class Site : EvidenceBase, IIdentityPermissionFactory { private SiteString m_name; public Site(String name) { if (name == null) throw new ArgumentNullException("name"); Contract.EndContractBlock(); m_name = new SiteString( name ); } private Site(SiteString name) { Contract.Assert(name != null); m_name = name; } public static Site CreateFromUrl( String url ) { return new Site(ParseSiteFromUrl(url)); } private static SiteString ParseSiteFromUrl( String name ) { URLString urlString = new URLString( name ); if (String.Compare( urlString.Scheme, "file", StringComparison.OrdinalIgnoreCase) == 0) throw new ArgumentException( Environment.GetResourceString( "Argument_InvalidSite" ) ); return new SiteString( new URLString( name ).Host ); } public String Name { get { return m_name.ToString(); } } internal SiteString GetSiteString() { return m_name; } public IPermission CreateIdentityPermission( Evidence evidence ) { return new SiteIdentityPermission( Name ); } public override bool Equals(Object o) { Site other = o as Site; if (other == null) { return false; } return String.Equals(Name, other.Name, StringComparison.OrdinalIgnoreCase); } public override int GetHashCode() { return Name.GetHashCode(); } public override EvidenceBase Clone() { return new Site(m_name); } public Object Copy() { return Clone(); } #if FEATURE_CAS_POLICY internal SecurityElement ToXml() { SecurityElement elem = new SecurityElement( "System.Security.Policy.Site" ); // If you hit this assert then most likely you are trying to change the name of this class. // This is ok as long as you change the hard coded string above and change the assert below. Contract.Assert( this.GetType().FullName.Equals( "System.Security.Policy.Site" ), "Class name changed!" ); elem.AddAttribute( "version", "1" ); if(m_name != null) elem.AddChild( new SecurityElement( "Name", m_name.ToString() ) ); return elem; } #endif // FEATURE_CAS_POLICY #if FEATURE_CAS_POLICY public override String ToString() { return ToXml().ToString(); } #endif // FEATURE_CAS_POLICY // INormalizeForIsolatedStorage is not implemented for startup perf // equivalent to INormalizeForIsolatedStorage.Normalize() internal Object Normalize() { return m_name.ToString().ToUpper(CultureInfo.InvariantCulture); } } } // 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
- DataObjectSettingDataEventArgs.cs
- XmlSchemaInfo.cs
- BinaryCommonClasses.cs
- RectKeyFrameCollection.cs
- ProviderConnectionPoint.cs
- DictionaryChange.cs
- RegexGroupCollection.cs
- Point4DValueSerializer.cs
- FunctionImportMapping.cs
- ContextMenuStripActionList.cs
- StorageModelBuildProvider.cs
- SR.cs
- CodeAccessSecurityEngine.cs
- DataListItem.cs
- CompiledIdentityConstraint.cs
- OleDbFactory.cs
- HandlerFactoryCache.cs
- FtpWebResponse.cs
- PageCodeDomTreeGenerator.cs
- X509CertificateTrustedIssuerElementCollection.cs
- ListViewCancelEventArgs.cs
- FileIOPermission.cs
- DBCommandBuilder.cs
- DoubleKeyFrameCollection.cs
- HttpCookie.cs
- XPathMessageFilterElementCollection.cs
- TextInfo.cs
- dbdatarecord.cs
- TrustManagerPromptUI.cs
- RoleGroupCollection.cs
- GetPageCompletedEventArgs.cs
- WindowsGraphicsCacheManager.cs
- OleDbRowUpdatedEvent.cs
- OperatingSystemVersionCheck.cs
- UserMapPath.cs
- SqlConnectionManager.cs
- PublisherMembershipCondition.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- ChangeDirector.cs
- StagingAreaInputItem.cs
- ColorMap.cs
- DataSourceDescriptorCollection.cs
- UInt16.cs
- ElapsedEventArgs.cs
- NetStream.cs
- SafeReversePInvokeHandle.cs
- TableAdapterManagerGenerator.cs
- InteropAutomationProvider.cs
- SByteStorage.cs
- SchemaReference.cs
- ContractInstanceProvider.cs
- DataSvcMapFileSerializer.cs
- TextServicesProperty.cs
- OptimalBreakSession.cs
- HtmlInputRadioButton.cs
- TreePrinter.cs
- AttachedAnnotationChangedEventArgs.cs
- ConnectionProviderAttribute.cs
- DbUpdateCommandTree.cs
- TokenBasedSetEnumerator.cs
- LineUtil.cs
- UserValidatedEventArgs.cs
- HtmlCalendarAdapter.cs
- ResourceManager.cs
- BoundConstants.cs
- SqlCommandSet.cs
- BamlLocalizableResource.cs
- BamlLocalizationDictionary.cs
- SqlDataSource.cs
- WebPermission.cs
- CatalogPartChrome.cs
- DesignerSerializationVisibilityAttribute.cs
- CalculatedColumn.cs
- BlockUIContainer.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- HtmlHead.cs
- ScrollData.cs
- SynchronizedInputProviderWrapper.cs
- ItemsControlAutomationPeer.cs
- DrawingContextDrawingContextWalker.cs
- OpCodes.cs
- BuildTopDownAttribute.cs
- ReadWriteSpinLock.cs
- TextElement.cs
- COAUTHIDENTITY.cs
- BaseAsyncResult.cs
- RuntimeConfigLKG.cs
- SymmetricKey.cs
- PanelStyle.cs
- cache.cs
- UshortList2.cs
- StringWriter.cs
- ConfigXmlReader.cs
- CodeMethodReturnStatement.cs
- COM2Enum.cs
- ProxySimple.cs
- ScrollContentPresenter.cs
- BindStream.cs
- PagesChangedEventArgs.cs
- DateTimeFormatInfoScanner.cs