Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- CqlWriter.cs
- DesignerHierarchicalDataSourceView.cs
- HierarchicalDataTemplate.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- BindingManagerDataErrorEventArgs.cs
- ControlCachePolicy.cs
- InstanceCompleteException.cs
- QueryCursorEventArgs.cs
- Parser.cs
- CurrencyWrapper.cs
- NameValuePermission.cs
- Clock.cs
- smtppermission.cs
- BitmapCache.cs
- CompilerCollection.cs
- ActivityExecutorDelegateInfo.cs
- EdmProperty.cs
- CommonObjectSecurity.cs
- CompositeScriptReferenceEventArgs.cs
- PathGeometry.cs
- dataprotectionpermissionattribute.cs
- OdbcEnvironmentHandle.cs
- UInt64Storage.cs
- ListMarkerLine.cs
- TreeNodeClickEventArgs.cs
- DataControlLinkButton.cs
- DataExpression.cs
- ParserHooks.cs
- PeerNameRecord.cs
- DataBinding.cs
- GridItemPattern.cs
- ToolStripPanelRow.cs
- TextBoxBase.cs
- cookieexception.cs
- ContainerParagraph.cs
- Encoding.cs
- Maps.cs
- StatusBarPanel.cs
- ChildChangedEventArgs.cs
- Overlapped.cs
- Attribute.cs
- TimeManager.cs
- ConfigPathUtility.cs
- TextPointerBase.cs
- SmiEventSink_DeferedProcessing.cs
- DeploymentSectionCache.cs
- ButtonChrome.cs
- TTSEvent.cs
- _UriTypeConverter.cs
- ReadOnlyAttribute.cs
- InvokeMethod.cs
- PageStatePersister.cs
- ArgumentValue.cs
- XmlSchemaImporter.cs
- DependencyPropertyDescriptor.cs
- SqlProviderUtilities.cs
- ProvidePropertyAttribute.cs
- WindowsRebar.cs
- GridItemPattern.cs
- NotifyCollectionChangedEventArgs.cs
- GenericFlowSwitchHelper.cs
- ArrayTypeMismatchException.cs
- EntityDesignerDataSourceView.cs
- EventToken.cs
- ToolboxDataAttribute.cs
- DBDataPermissionAttribute.cs
- ToolStripContentPanelRenderEventArgs.cs
- FormsAuthentication.cs
- HttpRawResponse.cs
- ProcessStartInfo.cs
- Stack.cs
- BitmapDecoder.cs
- CapabilitiesSection.cs
- DiagnosticEventProvider.cs
- NumericExpr.cs
- DBSqlParserTableCollection.cs
- TransactionOptions.cs
- WebHostUnsafeNativeMethods.cs
- RequestCacheEntry.cs
- webproxy.cs
- XPathNode.cs
- TransactedBatchingBehavior.cs
- CollectionsUtil.cs
- EventProviderWriter.cs
- UserPersonalizationStateInfo.cs
- HttpHandlerActionCollection.cs
- EntityDataSourceStatementEditor.cs
- EditorPartCollection.cs
- XmlAttributeAttribute.cs
- OleDbDataReader.cs
- ObjectDataSource.cs
- CatalogPartCollection.cs
- CompositeScriptReferenceEventArgs.cs
- AsymmetricSignatureDeformatter.cs
- FixUpCollection.cs
- OptionalMessageQuery.cs
- HttpCachePolicyElement.cs
- DataStreamFromComStream.cs
- Attribute.cs
- Utils.cs