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;
///
///
/// Provides support for design-time license context serialization.
///
///
[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() {
}
///
///
/// Serializes the licenses within the specified design-time license context
/// using the specified key and output stream.
///
///
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.
//------------------------------------------------------------------------------
//
// 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;
///
///
/// Provides support for design-time license context serialization.
///
///
[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() {
}
///
///
/// Serializes the licenses within the specified design-time license context
/// using the specified key and output stream.
///
///
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ColumnHeaderConverter.cs
- WmfPlaceableFileHeader.cs
- WebPartCatalogAddVerb.cs
- SelectionRangeConverter.cs
- ResourceAttributes.cs
- Barrier.cs
- EndpointFilterProvider.cs
- CursorConverter.cs
- X500Name.cs
- PersonalizationAdministration.cs
- Localizer.cs
- CngProvider.cs
- DataServiceHost.cs
- TableLayoutColumnStyleCollection.cs
- ImageDrawing.cs
- OutputCacheProfileCollection.cs
- LinearQuaternionKeyFrame.cs
- CompilerGlobalScopeAttribute.cs
- EntityViewContainer.cs
- StylusDownEventArgs.cs
- PropertyInfoSet.cs
- TransportSecurityProtocol.cs
- RadioButtonAutomationPeer.cs
- xmlfixedPageInfo.cs
- CompilationUtil.cs
- ExpressionPrinter.cs
- FixedSOMPageConstructor.cs
- CompareInfo.cs
- GiveFeedbackEvent.cs
- WebPartUtil.cs
- IFormattable.cs
- FromRequest.cs
- BamlVersionHeader.cs
- HyperlinkAutomationPeer.cs
- Privilege.cs
- TreeViewDesigner.cs
- DataGridTextBox.cs
- DataObject.cs
- WriteTimeStream.cs
- BufferedReadStream.cs
- ListViewGroupItemCollection.cs
- MessageSmuggler.cs
- WebEventCodes.cs
- transactioncontext.cs
- DynamicValidator.cs
- LedgerEntry.cs
- XmlTextReaderImplHelpers.cs
- LocatorPart.cs
- ScrollViewerAutomationPeer.cs
- SynchronizationContext.cs
- Button.cs
- Random.cs
- SafeTimerHandle.cs
- TabItemWrapperAutomationPeer.cs
- OperationFormatter.cs
- CodeCommentStatementCollection.cs
- ObjectItemCachedAssemblyLoader.cs
- DefaultObjectMappingItemCollection.cs
- TagMapInfo.cs
- HostSecurityManager.cs
- AudioFormatConverter.cs
- UnsafeNativeMethods.cs
- Translator.cs
- ObjectSpanRewriter.cs
- ReadingWritingEntityEventArgs.cs
- SecurityPermission.cs
- IntegerValidator.cs
- CaseInsensitiveHashCodeProvider.cs
- Membership.cs
- AppDomainAttributes.cs
- ZipFileInfoCollection.cs
- OrderedDictionaryStateHelper.cs
- UnaryExpression.cs
- GetChildSubtree.cs
- BindToObject.cs
- MsmqIntegrationElement.cs
- NameValuePair.cs
- WindowsListViewGroupHelper.cs
- ServiceHttpModule.cs
- CopyOfAction.cs
- ExpandedProjectionNode.cs
- XmlCharCheckingWriter.cs
- HotSpotCollection.cs
- ModelEditingScope.cs
- AuthenticationModulesSection.cs
- WebPartManagerInternals.cs
- TypeGeneratedEventArgs.cs
- PopupRoot.cs
- EncryptedPackage.cs
- Logging.cs
- CompilationUtil.cs
- FontDriver.cs
- InternalSafeNativeMethods.cs
- WMIInterop.cs
- RadioButtonPopupAdapter.cs
- PartialClassGenerationTask.cs
- Int32CAMarshaler.cs
- BrowserCapabilitiesFactory.cs
- UITypeEditor.cs
- DataProtection.cs