Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FileRegion.cs
- ProcessHostFactoryHelper.cs
- EvidenceTypeDescriptor.cs
- Subset.cs
- ObjectResult.cs
- SubMenuStyleCollection.cs
- Menu.cs
- ProtocolsConfigurationHandler.cs
- SequentialOutput.cs
- CheckedListBox.cs
- IPEndPoint.cs
- StringFormat.cs
- ColorConverter.cs
- RoleManagerSection.cs
- NodeCounter.cs
- ChannelProtectionRequirements.cs
- SerializerProvider.cs
- DictionaryTraceRecord.cs
- CachedRequestParams.cs
- ConditionalBranch.cs
- XmlProcessingInstruction.cs
- DoubleLinkList.cs
- RequestDescription.cs
- ReadOnlyHierarchicalDataSourceView.cs
- CmsUtils.cs
- ArrayList.cs
- RoleManagerEventArgs.cs
- HtmlInputCheckBox.cs
- AccessViolationException.cs
- CalendarDateRangeChangingEventArgs.cs
- PointIndependentAnimationStorage.cs
- DesignerHelpers.cs
- TemplateBuilder.cs
- SrgsSubset.cs
- httpserverutility.cs
- DbProviderFactoriesConfigurationHandler.cs
- ClientSection.cs
- RotateTransform3D.cs
- DeferredTextReference.cs
- HttpCachePolicy.cs
- AudioFormatConverter.cs
- CatalogPartCollection.cs
- NetMsmqBindingElement.cs
- entityreference_tresulttype.cs
- DecoderBestFitFallback.cs
- SHA512.cs
- InputManager.cs
- FileCodeGroup.cs
- Rect3DValueSerializer.cs
- MemberAccessException.cs
- Axis.cs
- ListViewItemEventArgs.cs
- DefaultExpressionVisitor.cs
- Enum.cs
- OutputCacheSection.cs
- ColumnMapVisitor.cs
- GeneralTransformCollection.cs
- Compilation.cs
- HashAlgorithm.cs
- RegexMatchCollection.cs
- PriorityRange.cs
- XPathSelectionIterator.cs
- Stackframe.cs
- NgenServicingAttributes.cs
- DocumentPageViewAutomationPeer.cs
- PipelineModuleStepContainer.cs
- MemberMemberBinding.cs
- DocumentEventArgs.cs
- WebPartConnectionsCancelEventArgs.cs
- LinqDataSourceStatusEventArgs.cs
- ParameterElement.cs
- CodeParameterDeclarationExpressionCollection.cs
- HitTestFilterBehavior.cs
- XmlSchemaAll.cs
- BitmapEffectOutputConnector.cs
- DocumentViewerConstants.cs
- ProfileService.cs
- Qualifier.cs
- DocumentXPathNavigator.cs
- ListParaClient.cs
- TargetException.cs
- MsmqHostedTransportConfiguration.cs
- HtmlGenericControl.cs
- _RequestLifetimeSetter.cs
- PropertyRef.cs
- UnsafeNativeMethods.cs
- ClientUtils.cs
- PerSessionInstanceContextProvider.cs
- HttpAsyncResult.cs
- SpecialNameAttribute.cs
- CodeDomSerializationProvider.cs
- InvalidEnumArgumentException.cs
- BehaviorDragDropEventArgs.cs
- FontClient.cs
- QilVisitor.cs
- TypeDescriptionProvider.cs
- AssemblyBuilder.cs
- SqlConnectionString.cs
- RegisteredScript.cs
- NotCondition.cs