Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / System / ComponentModel / Design / DesigntimeLicenseContextSerializer.cs / 1305376 / 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
- TimerEventSubscription.cs
- PropertyEntry.cs
- XamlRtfConverter.cs
- FilteredDataSetHelper.cs
- MimeTextImporter.cs
- DateTimeOffset.cs
- BaseCodeDomTreeGenerator.cs
- NativeObjectSecurity.cs
- TypeForwardedToAttribute.cs
- WsatServiceAddress.cs
- ISFClipboardData.cs
- ProfileGroupSettings.cs
- RC2CryptoServiceProvider.cs
- GPRECTF.cs
- HtmlControl.cs
- KnownTypesProvider.cs
- WinCategoryAttribute.cs
- ToolStripArrowRenderEventArgs.cs
- TriggerActionCollection.cs
- RegexStringValidator.cs
- CodeNamespace.cs
- CompilerErrorCollection.cs
- WebPartVerbsEventArgs.cs
- METAHEADER.cs
- BoolExpression.cs
- AdobeCFFWrapper.cs
- ReferentialConstraint.cs
- Tool.cs
- LOSFormatter.cs
- ToolStripComboBox.cs
- DialogWindow.cs
- PointCollectionConverter.cs
- ScaleTransform3D.cs
- TypeConverterHelper.cs
- QuaternionAnimationBase.cs
- TraceEventCache.cs
- HttpWebRequest.cs
- ContainerControl.cs
- FileSecurity.cs
- WebPartConnectionsCancelVerb.cs
- SqlParameterCollection.cs
- XmlDomTextWriter.cs
- SelectionItemProviderWrapper.cs
- HostVisual.cs
- SqlMetaData.cs
- QueryRelOp.cs
- WebDisplayNameAttribute.cs
- ResourceDictionary.cs
- ParserExtension.cs
- DynamicResourceExtensionConverter.cs
- EdmType.cs
- DynamicPropertyReader.cs
- DbUpdateCommandTree.cs
- XmlImplementation.cs
- Main.cs
- ISFTagAndGuidCache.cs
- SmiEventSink_DeferedProcessing.cs
- RepeaterDesigner.cs
- PKCS1MaskGenerationMethod.cs
- GenericTextProperties.cs
- XmlSchemaInclude.cs
- storepermission.cs
- SendMailErrorEventArgs.cs
- PeerCollaboration.cs
- DuplicateContext.cs
- DateTimeConverter.cs
- HtmlWindowCollection.cs
- NativeWindow.cs
- HostedHttpRequestAsyncResult.cs
- OciHandle.cs
- TrustVersion.cs
- ProcessExitedException.cs
- HtmlWindow.cs
- RtfFormatStack.cs
- ImpersonationContext.cs
- OrderPreservingMergeHelper.cs
- SymDocumentType.cs
- CompilerParameters.cs
- JournalNavigationScope.cs
- IntSecurity.cs
- FormCollection.cs
- SwitchLevelAttribute.cs
- StorageMappingFragment.cs
- PageCatalogPart.cs
- GenerateTemporaryAssemblyTask.cs
- SoapHeaderAttribute.cs
- MemoryRecordBuffer.cs
- BaseValidator.cs
- SuspendDesigner.cs
- SerializationStore.cs
- MetadataSource.cs
- EntityViewContainer.cs
- HwndStylusInputProvider.cs
- ResumeStoryboard.cs
- ProgressBarRenderer.cs
- FamilyMapCollection.cs
- TargetException.cs
- HttpHandler.cs
- HuffModule.cs
- Dump.cs