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
- CollectionViewSource.cs
- StackOverflowException.cs
- DataKey.cs
- SmtpReplyReaderFactory.cs
- XmlObjectSerializerWriteContextComplex.cs
- EndpointInfoCollection.cs
- BitmapImage.cs
- DisplayNameAttribute.cs
- Int32CAMarshaler.cs
- ServiceHttpModule.cs
- MailWebEventProvider.cs
- ParseElementCollection.cs
- ClientScriptItem.cs
- _LocalDataStoreMgr.cs
- URLMembershipCondition.cs
- LifetimeServices.cs
- MimeFormatter.cs
- GenerateHelper.cs
- PropertyEmitter.cs
- ZipIOExtraFieldPaddingElement.cs
- EntityDescriptor.cs
- HttpFileCollection.cs
- SimpleBitVector32.cs
- CharacterString.cs
- TypeContext.cs
- EmbeddedObject.cs
- DataSourceHelper.cs
- TemplateInstanceAttribute.cs
- UIElementIsland.cs
- XmlAnyElementAttribute.cs
- ChtmlCalendarAdapter.cs
- XmlAnyAttributeAttribute.cs
- RequestContext.cs
- DBCommandBuilder.cs
- TemplateBindingExpression.cs
- AsyncResult.cs
- InvalidPipelineStoreException.cs
- TextCompositionEventArgs.cs
- Bits.cs
- ErrorFormatterPage.cs
- NavigationService.cs
- StateMachineWorkflow.cs
- DataListAutoFormat.cs
- ServiceDesigner.cs
- CommandCollectionEditor.cs
- ClientRuntimeConfig.cs
- XmlSchemaException.cs
- InvalidPrinterException.cs
- InternalsVisibleToAttribute.cs
- _DomainName.cs
- SQLDateTimeStorage.cs
- HostedTransportConfigurationBase.cs
- ClientSettings.cs
- Pkcs7Recipient.cs
- MatrixTransform.cs
- DashStyle.cs
- EventHandlers.cs
- TargetPerspective.cs
- SegmentInfo.cs
- SimpleWorkerRequest.cs
- CharacterHit.cs
- ConstNode.cs
- InstanceOwnerQueryResult.cs
- PropertyEntry.cs
- MarshalByRefObject.cs
- MailMessage.cs
- BitSet.cs
- PlainXmlSerializer.cs
- UnrecognizedAssertionsBindingElement.cs
- ValidationErrorEventArgs.cs
- InputReferenceExpression.cs
- CodeTypeReference.cs
- SpeechRecognitionEngine.cs
- BamlRecordReader.cs
- EmptyEnumerable.cs
- Interop.cs
- App.cs
- _KerberosClient.cs
- CodeEventReferenceExpression.cs
- DictionaryBase.cs
- EnumMember.cs
- PermissionSetEnumerator.cs
- BatchWriter.cs
- TraceSection.cs
- Thread.cs
- EdmItemCollection.cs
- Menu.cs
- SmiTypedGetterSetter.cs
- ListViewGroupItemCollection.cs
- AggregationMinMaxHelpers.cs
- DataControlCommands.cs
- SecurityPolicySection.cs
- EntityDataSourceSelectingEventArgs.cs
- SystemTcpConnection.cs
- DetailsViewDeleteEventArgs.cs
- ButtonRenderer.cs
- StringHandle.cs
- BigInt.cs
- DesignerImageAdapter.cs
- EventItfInfo.cs