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; ////// [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
- InputLanguage.cs
- FixedStringLookup.cs
- GifBitmapEncoder.cs
- CompilationRelaxations.cs
- CommonDialog.cs
- ThreadExceptionEvent.cs
- _AcceptOverlappedAsyncResult.cs
- SqlDataSourceCommandEventArgs.cs
- ItemCheckEvent.cs
- UnsafeNativeMethods.cs
- URIFormatException.cs
- BasePropertyDescriptor.cs
- ToolboxItemFilterAttribute.cs
- TdsValueSetter.cs
- SpellerHighlightLayer.cs
- CommandBindingCollection.cs
- VirtualPathData.cs
- OleDbCommandBuilder.cs
- ButtonFieldBase.cs
- PolyBezierSegment.cs
- SqlBinder.cs
- InkCanvasAutomationPeer.cs
- OpenTypeLayout.cs
- ContentElementCollection.cs
- Publisher.cs
- NonParentingControl.cs
- NativeWindow.cs
- ResourceProviderFactory.cs
- ArithmeticException.cs
- AstNode.cs
- AsyncPostBackTrigger.cs
- GeometryDrawing.cs
- RowUpdatingEventArgs.cs
- TypeTypeConverter.cs
- ModuleConfigurationInfo.cs
- EnumValidator.cs
- MessageSmuggler.cs
- AnimationTimeline.cs
- PaperSize.cs
- RegistrationServices.cs
- ToolboxItem.cs
- VersionedStream.cs
- PageSetupDialog.cs
- MetadataItemSerializer.cs
- BindingCompleteEventArgs.cs
- SqlAliasesReferenced.cs
- SynchronizedInputProviderWrapper.cs
- GeneratedContractType.cs
- MenuItemAutomationPeer.cs
- ControlFilterExpression.cs
- WebControl.cs
- DispatcherExceptionEventArgs.cs
- DocumentViewerBaseAutomationPeer.cs
- CollectionChangeEventArgs.cs
- UnsafeNativeMethods.cs
- LinkLabel.cs
- ErrorEventArgs.cs
- HttpConfigurationContext.cs
- RecognizeCompletedEventArgs.cs
- HtmlElementErrorEventArgs.cs
- XmlSerializerVersionAttribute.cs
- PeerObject.cs
- MetafileEditor.cs
- TypeNameConverter.cs
- FormViewRow.cs
- WindowsSlider.cs
- ReadOnlyDictionary.cs
- ManagedWndProcTracker.cs
- ConfigurationValidatorAttribute.cs
- MyContact.cs
- OdbcCommand.cs
- CommonDialog.cs
- Content.cs
- TreeSet.cs
- ColorContext.cs
- unitconverter.cs
- DuplicateWaitObjectException.cs
- XamlReader.cs
- HMACSHA256.cs
- BezierSegment.cs
- AdditionalEntityFunctions.cs
- HttpBufferlessInputStream.cs
- WebPartEventArgs.cs
- ReferenceConverter.cs
- WindowsToolbarItemAsMenuItem.cs
- DataGridViewHitTestInfo.cs
- TemplatedMailWebEventProvider.cs
- TypeBuilderInstantiation.cs
- VisualTreeHelper.cs
- ImageFormat.cs
- CustomErrorCollection.cs
- TreeSet.cs
- MDIControlStrip.cs
- IgnoreSectionHandler.cs
- SQLGuid.cs
- GroupAggregateExpr.cs
- SystemUnicastIPAddressInformation.cs
- UIntPtr.cs
- StylusPointPropertyId.cs
- ControlAdapter.cs