Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- NameTable.cs
- TextProviderWrapper.cs
- MinimizableAttributeTypeConverter.cs
- CaseInsensitiveHashCodeProvider.cs
- ListDictionaryInternal.cs
- MachineSettingsSection.cs
- TargetFrameworkAttribute.cs
- CompositionTarget.cs
- PlatformNotSupportedException.cs
- PointAnimationBase.cs
- DbExpressionRules.cs
- ItemCheckedEvent.cs
- DataContractSet.cs
- ImageSourceValueSerializer.cs
- SqlVisitor.cs
- TransactionManager.cs
- PathFigureCollection.cs
- FixUpCollection.cs
- LogWriteRestartAreaAsyncResult.cs
- VectorCollection.cs
- HostedNamedPipeTransportManager.cs
- TextTreeTextElementNode.cs
- DesigntimeLicenseContext.cs
- XPathAncestorQuery.cs
- SQLSingle.cs
- ColorMatrix.cs
- AssemblyBuilder.cs
- Roles.cs
- TextLine.cs
- StringAttributeCollection.cs
- IListConverters.cs
- AssemblyBuilder.cs
- Nodes.cs
- SystemWebCachingSectionGroup.cs
- Subtract.cs
- UnionQueryOperator.cs
- SweepDirectionValidation.cs
- UserControlBuildProvider.cs
- Form.cs
- UIElement3DAutomationPeer.cs
- UmAlQuraCalendar.cs
- TextDecoration.cs
- EDesignUtil.cs
- KnownTypesProvider.cs
- DescendantOverDescendantQuery.cs
- UrlRoutingHandler.cs
- DataBoundControlActionList.cs
- ToolStripSettings.cs
- ObjectResult.cs
- DependencyObjectType.cs
- ConstraintConverter.cs
- FontFamilyValueSerializer.cs
- VectorConverter.cs
- GatewayIPAddressInformationCollection.cs
- HtmlMeta.cs
- NativeActivityContext.cs
- SqlResolver.cs
- OptionalMessageQuery.cs
- LocalValueEnumerator.cs
- Light.cs
- StylusTip.cs
- RegexCaptureCollection.cs
- Panel.cs
- DataGridViewCellStyleConverter.cs
- CodeCatchClauseCollection.cs
- DataColumnMapping.cs
- DescendentsWalker.cs
- ColumnClickEvent.cs
- SessionStateUtil.cs
- QueryProcessor.cs
- RenderCapability.cs
- TextRange.cs
- RouteCollection.cs
- counter.cs
- AmbientLight.cs
- TagMapInfo.cs
- InfoCardRSACryptoProvider.cs
- RealProxy.cs
- Wildcard.cs
- DriveNotFoundException.cs
- DesignerExtenders.cs
- ObjectDataSourceMethodEditor.cs
- BinaryParser.cs
- BinaryQueryOperator.cs
- DashStyle.cs
- Sequence.cs
- EditBehavior.cs
- TextBoxBase.cs
- HotSpot.cs
- Profiler.cs
- RuntimeCompatibilityAttribute.cs
- UnsignedPublishLicense.cs
- PropertyChangedEventManager.cs
- PnrpPermission.cs
- OdbcInfoMessageEvent.cs
- DefaultMergeHelper.cs
- LinkArea.cs
- ResourcePermissionBaseEntry.cs
- WebBrowserUriTypeConverter.cs
- OperationContext.cs