Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CompMod / System / ComponentModel / Design / DesigntimeLicenseContextSerializer.cs / 1 / DesigntimeLicenseContextSerializer.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.ComponentModel.Design { using System.Runtime.Remoting; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization; using System.Security; using System.Security.Permissions; using System.Collections; using System.ComponentModel; using System.Diagnostics; using System; using Microsoft.Win32; using System.IO; using System.Diagnostics.CodeAnalysis; ////// [HostProtection(SharedState = true)] [System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.InheritanceDemand, Name = "FullTrust")] [System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.LinkDemand, Name="FullTrust")] public class DesigntimeLicenseContextSerializer { // not creatable... // private DesigntimeLicenseContextSerializer() { } ////// Provides support for design-time license context serialization. /// ////// public static void Serialize(Stream o, string cryptoKey, DesigntimeLicenseContext context) { IFormatter formatter = new BinaryFormatter(); formatter.Serialize(o, new object[] {cryptoKey, context.savedLicenseKeys}); } [SuppressMessage("Microsoft.Security", "CA2107:ReviewDenyAndPermitOnlyUsage")] // Use of PermitOnly here is appropriate. This was a previous war-approved security bug fix. internal static void Deserialize(Stream o, string cryptoKey, RuntimeLicenseContext context) { IFormatter formatter = new BinaryFormatter(); object obj; new SecurityPermission(SecurityPermissionFlag.SerializationFormatter).PermitOnly(); new SecurityPermission(SecurityPermissionFlag.SerializationFormatter).Assert(); try { obj = formatter.Deserialize(o); } finally { CodeAccessPermission.RevertAssert(); CodeAccessPermission.RevertPermitOnly(); } if (obj is object[]) { object[] value = (object[])obj; if (value[0] is string && (string)value[0] == cryptoKey) { context.savedLicenseKeys = (Hashtable)value[1]; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ ///// Serializes the licenses within the specified design-time license context /// using the specified key and output stream. /// ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.ComponentModel.Design { using System.Runtime.Remoting; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization; using System.Security; using System.Security.Permissions; using System.Collections; using System.ComponentModel; using System.Diagnostics; using System; using Microsoft.Win32; using System.IO; using System.Diagnostics.CodeAnalysis; ////// [HostProtection(SharedState = true)] [System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.InheritanceDemand, Name = "FullTrust")] [System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.LinkDemand, Name="FullTrust")] public class DesigntimeLicenseContextSerializer { // not creatable... // private DesigntimeLicenseContextSerializer() { } ////// Provides support for design-time license context serialization. /// ////// public static void Serialize(Stream o, string cryptoKey, DesigntimeLicenseContext context) { IFormatter formatter = new BinaryFormatter(); formatter.Serialize(o, new object[] {cryptoKey, context.savedLicenseKeys}); } [SuppressMessage("Microsoft.Security", "CA2107:ReviewDenyAndPermitOnlyUsage")] // Use of PermitOnly here is appropriate. This was a previous war-approved security bug fix. internal static void Deserialize(Stream o, string cryptoKey, RuntimeLicenseContext context) { IFormatter formatter = new BinaryFormatter(); object obj; new SecurityPermission(SecurityPermissionFlag.SerializationFormatter).PermitOnly(); new SecurityPermission(SecurityPermissionFlag.SerializationFormatter).Assert(); try { obj = formatter.Deserialize(o); } finally { CodeAccessPermission.RevertAssert(); CodeAccessPermission.RevertPermitOnly(); } if (obj is object[]) { object[] value = (object[])obj; if (value[0] is string && (string)value[0] == cryptoKey) { context.savedLicenseKeys = (Hashtable)value[1]; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007./// Serializes the licenses within the specified design-time license context /// using the specified key and output stream. /// ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HostSecurityManager.cs
- TraceLevelStore.cs
- TimeoutHelper.cs
- DescendentsWalkerBase.cs
- CodeCommentStatement.cs
- XmlWrappingWriter.cs
- ConfigPathUtility.cs
- SevenBitStream.cs
- __FastResourceComparer.cs
- FigureParaClient.cs
- AppSettings.cs
- MetadataArtifactLoaderResource.cs
- NumberFunctions.cs
- ClassicBorderDecorator.cs
- DispatcherHooks.cs
- SliderAutomationPeer.cs
- DesignTimeHTMLTextWriter.cs
- RemotingConfiguration.cs
- HostingEnvironmentException.cs
- BypassElementCollection.cs
- Queue.cs
- LinkUtilities.cs
- ToolTipAutomationPeer.cs
- BaseUriHelper.cs
- OdbcEnvironmentHandle.cs
- ListDependantCardsRequest.cs
- CanonicalXml.cs
- BindingOperations.cs
- DateTimeOffsetAdapter.cs
- GridViewRowEventArgs.cs
- ListItemDetailViewAttribute.cs
- ObjectDataSourceFilteringEventArgs.cs
- RelatedImageListAttribute.cs
- Canvas.cs
- OpCellTreeNode.cs
- CFStream.cs
- HttpStaticObjectsCollectionWrapper.cs
- TagPrefixCollection.cs
- TextParaClient.cs
- ExitEventArgs.cs
- CircleHotSpot.cs
- PrimitiveSchema.cs
- OutputCacheSettingsSection.cs
- OleAutBinder.cs
- NumericExpr.cs
- PublisherIdentityPermission.cs
- Pair.cs
- DataPager.cs
- ProtectedConfigurationSection.cs
- SpeechSynthesizer.cs
- VersionConverter.cs
- DataGridViewImageCell.cs
- RTLAwareMessageBox.cs
- XPathDocumentIterator.cs
- IntegerValidatorAttribute.cs
- LinqDataSourceStatusEventArgs.cs
- TreeNodeClickEventArgs.cs
- ProxyHwnd.cs
- SymmetricCryptoHandle.cs
- RSAOAEPKeyExchangeFormatter.cs
- ApplicationException.cs
- SqlConnectionManager.cs
- TemplateColumn.cs
- XmlCDATASection.cs
- CatalogPart.cs
- ProcessModule.cs
- MultipartContentParser.cs
- ValueTable.cs
- odbcmetadatafactory.cs
- ConversionContext.cs
- TagPrefixCollection.cs
- OdbcDataAdapter.cs
- Logging.cs
- WebBrowserSiteBase.cs
- ContentControl.cs
- ResXBuildProvider.cs
- Decoder.cs
- WebServiceReceive.cs
- WorkflowServiceNamespace.cs
- DefaultPrintController.cs
- HttpPostedFileWrapper.cs
- IpcChannel.cs
- ColumnHeader.cs
- ModelTreeEnumerator.cs
- CredentialCache.cs
- AdapterUtil.cs
- XPathItem.cs
- DataSourceHelper.cs
- VisualProxy.cs
- CLSCompliantAttribute.cs
- AnnotationDocumentPaginator.cs
- Metafile.cs
- ControlAdapter.cs
- XmlEventCache.cs
- XsltSettings.cs
- HtmlInputControl.cs
- CurrentTimeZone.cs
- WebServiceTypeData.cs
- MouseGestureValueSerializer.cs
- DataGridViewCheckBoxCell.cs