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;
///
///
/// 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
- DataGridViewCellStyleChangedEventArgs.cs
- ToolStrip.cs
- ComboBoxRenderer.cs
- EntityProviderServices.cs
- ToolStripCollectionEditor.cs
- NullReferenceException.cs
- DocComment.cs
- CodeTypeDelegate.cs
- SelectedDatesCollection.cs
- OledbConnectionStringbuilder.cs
- BitmapEffectCollection.cs
- ChtmlCalendarAdapter.cs
- DataGridSortCommandEventArgs.cs
- PrintingPermission.cs
- SqlErrorCollection.cs
- EditorPartCollection.cs
- FigureParagraph.cs
- ConfigWriter.cs
- XmlDataSourceView.cs
- DataError.cs
- SemanticBasicElement.cs
- DataServiceRequestArgs.cs
- ChannelReliableSession.cs
- OdbcConnectionFactory.cs
- AppDomain.cs
- PowerStatus.cs
- Enum.cs
- SystemMulticastIPAddressInformation.cs
- ResolveNameEventArgs.cs
- DataServiceQueryProvider.cs
- ExtendedTransformFactory.cs
- ToolStripDropDownClosedEventArgs.cs
- NameValueFileSectionHandler.cs
- WebReferencesBuildProvider.cs
- counter.cs
- BooleanFacetDescriptionElement.cs
- ToolStripDropDown.cs
- IfAction.cs
- PathFigure.cs
- OleDbDataAdapter.cs
- FacetDescription.cs
- DataGridViewCellPaintingEventArgs.cs
- LocatorManager.cs
- EditorPartChrome.cs
- SqlDataSourceView.cs
- _LocalDataStore.cs
- WindowsFormsHostAutomationPeer.cs
- Contracts.cs
- _NetRes.cs
- Transform3D.cs
- versioninfo.cs
- MatrixKeyFrameCollection.cs
- DelayedRegex.cs
- Soap11ServerProtocol.cs
- ProcessModelInfo.cs
- GridView.cs
- PerformanceCounterPermission.cs
- BufferedGraphicsContext.cs
- Publisher.cs
- RemoteWebConfigurationHostServer.cs
- PropertyGridEditorPart.cs
- TextServicesManager.cs
- TabPanel.cs
- Interlocked.cs
- AdornedElementPlaceholder.cs
- MissingManifestResourceException.cs
- TypeSystem.cs
- DispatchWrapper.cs
- ResponseStream.cs
- ClientSponsor.cs
- BatchWriter.cs
- DataGridViewTextBoxEditingControl.cs
- ToolTipAutomationPeer.cs
- Font.cs
- RequestTimeoutManager.cs
- ProgressBarHighlightConverter.cs
- CompatibleComparer.cs
- FloatMinMaxAggregationOperator.cs
- CompilationRelaxations.cs
- SecureUICommand.cs
- RoleGroup.cs
- PropertyItem.cs
- ValidationResult.cs
- GenericPrincipal.cs
- CryptoApi.cs
- CaseInsensitiveHashCodeProvider.cs
- HttpAsyncResult.cs
- LineSegment.cs
- FileCodeGroup.cs
- InfoCardSymmetricCrypto.cs
- CurrencyWrapper.cs
- DocumentGridPage.cs
- TextElement.cs
- Page.cs
- AnonymousIdentificationSection.cs
- ClassValidator.cs
- RawMouseInputReport.cs
- DataGridViewImageCell.cs
- ButtonChrome.cs
- CursorEditor.cs