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
- CallSiteHelpers.cs
- HttpApplicationStateWrapper.cs
- ToolStripMenuItem.cs
- MarginsConverter.cs
- ItemChangedEventArgs.cs
- DataGridViewBand.cs
- ForceCopyBuildProvider.cs
- MsdtcClusterUtils.cs
- DataGridViewLayoutData.cs
- Inline.cs
- CellNormalizer.cs
- WorkflowTransactionService.cs
- KerberosRequestorSecurityToken.cs
- RecordManager.cs
- SizeValueSerializer.cs
- DynamicResourceExtensionConverter.cs
- SqlEnums.cs
- DtdParser.cs
- HtmlHistory.cs
- ListBox.cs
- LicenseManager.cs
- NoneExcludedImageIndexConverter.cs
- DocumentGrid.cs
- CrossContextChannel.cs
- ArgumentValue.cs
- UpdateEventArgs.cs
- XmlSignatureManifest.cs
- DbProviderFactory.cs
- SystemResourceKey.cs
- SQLInt32Storage.cs
- ExtentCqlBlock.cs
- TrustVersion.cs
- ToolStripKeyboardHandlingService.cs
- SoapFault.cs
- ApplicationProxyInternal.cs
- XmlArrayItemAttributes.cs
- ResourcesGenerator.cs
- QueryOptionExpression.cs
- DashStyle.cs
- PropertyTab.cs
- TextElementEditingBehaviorAttribute.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- SortedDictionary.cs
- DocumentGrid.cs
- GlobalizationSection.cs
- storepermission.cs
- QilValidationVisitor.cs
- AspCompat.cs
- ToolStripDropDownClosingEventArgs.cs
- NavigatingCancelEventArgs.cs
- DataServiceBehavior.cs
- DecimalFormatter.cs
- SourceElementsCollection.cs
- DirectionalLight.cs
- ExpandoClass.cs
- SchemaDeclBase.cs
- VisualStyleRenderer.cs
- SqlNodeAnnotations.cs
- ProfilePropertyNameValidator.cs
- EntityFunctions.cs
- ControlCollection.cs
- SettingsPropertyValueCollection.cs
- MediaSystem.cs
- SafeCryptContextHandle.cs
- FormsAuthenticationTicket.cs
- LineSegment.cs
- CustomError.cs
- XmlCustomFormatter.cs
- TextElementAutomationPeer.cs
- TiffBitmapDecoder.cs
- ProfilePropertyNameValidator.cs
- OrderedDictionary.cs
- TreeNodeEventArgs.cs
- BezierSegment.cs
- RegexParser.cs
- DBDataPermission.cs
- PathGeometry.cs
- PathFigure.cs
- ImmutableObjectAttribute.cs
- IntegerFacetDescriptionElement.cs
- BufferedGraphicsManager.cs
- Rect3D.cs
- ScaleTransform3D.cs
- WebEncodingValidator.cs
- CompilerScopeManager.cs
- QueryCoreOp.cs
- TraceEventCache.cs
- KeyEvent.cs
- MonthCalendar.cs
- DataSourceXmlSerializer.cs
- LocationReferenceValue.cs
- Schema.cs
- SystemDiagnosticsSection.cs
- StopStoryboard.cs
- LineBreak.cs
- StylusDownEventArgs.cs
- ComIntegrationManifestGenerator.cs
- ThreadStartException.cs
- XmlCharType.cs
- RelationshipManager.cs