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
- DataGridViewRowsAddedEventArgs.cs
- NativeObjectSecurity.cs
- GenericPrincipal.cs
- PerspectiveCamera.cs
- AssemblyAttributesGoHere.cs
- TimeSpanValidator.cs
- FormatterServicesNoSerializableCheck.cs
- Object.cs
- TextUtf8RawTextWriter.cs
- XamlContextStack.cs
- TextTreeUndoUnit.cs
- LayoutEditorPart.cs
- VersionConverter.cs
- Psha1DerivedKeyGenerator.cs
- ReadOnlyTernaryTree.cs
- TypedElement.cs
- _SslStream.cs
- ThreadPoolTaskScheduler.cs
- AppLevelCompilationSectionCache.cs
- BrowserTree.cs
- Page.cs
- JsonSerializer.cs
- ResourceDefaultValueAttribute.cs
- LayoutTable.cs
- MachineKeyConverter.cs
- MsmqPoisonMessageException.cs
- MobileControlsSectionHandler.cs
- TypeCodeDomSerializer.cs
- TextBox.cs
- CLSCompliantAttribute.cs
- CollectionEditVerbManager.cs
- DataServiceConfiguration.cs
- AttachInfo.cs
- ReadOnlyDictionary.cs
- ChameleonKey.cs
- Debug.cs
- SchemaLookupTable.cs
- RectAnimation.cs
- KernelTypeValidation.cs
- CursorConverter.cs
- DataGridViewBindingCompleteEventArgs.cs
- DialogResultConverter.cs
- FontFamilyIdentifier.cs
- SQLStringStorage.cs
- TransformCryptoHandle.cs
- Rectangle.cs
- SpecialNameAttribute.cs
- GeneralTransform3DGroup.cs
- ThicknessAnimationUsingKeyFrames.cs
- XmlObjectSerializerReadContextComplexJson.cs
- EmptyEnumerable.cs
- BitmapSizeOptions.cs
- ButtonAutomationPeer.cs
- QueryStringParameter.cs
- DaylightTime.cs
- XsdCachingReader.cs
- DBConnection.cs
- TextAdaptor.cs
- RawTextInputReport.cs
- ListItemParagraph.cs
- TextTabProperties.cs
- QueryExpr.cs
- ItemMap.cs
- HasCopySemanticsAttribute.cs
- cookiecontainer.cs
- AppDomainShutdownMonitor.cs
- CodeMemberProperty.cs
- ComponentChangingEvent.cs
- ToolStripControlHost.cs
- PerfCounters.cs
- DataGridViewRowStateChangedEventArgs.cs
- SplayTreeNode.cs
- XmlQuerySequence.cs
- Cursor.cs
- TrustVersion.cs
- WindowsRegion.cs
- AppDomainUnloadedException.cs
- OpacityConverter.cs
- StatementContext.cs
- RewritingSimplifier.cs
- ElapsedEventArgs.cs
- AlphabetConverter.cs
- OdbcConnectionOpen.cs
- ObjectKeyFrameCollection.cs
- RenderData.cs
- UniqueIdentifierService.cs
- OleStrCAMarshaler.cs
- SynchronousReceiveBehavior.cs
- ThreadInterruptedException.cs
- XmlDesignerDataSourceView.cs
- EditorPartCollection.cs
- DataGridGeneralPage.cs
- TransactionState.cs
- Directory.cs
- CompositeKey.cs
- Duration.cs
- QueryOperatorEnumerator.cs
- QilGenerator.cs
- DataGridPagerStyle.cs
- DirectionalLight.cs