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; ////// [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
- GridViewEditEventArgs.cs
- DataGridBoolColumn.cs
- PageSettings.cs
- EllipseGeometry.cs
- ControlEvent.cs
- AnonymousIdentificationSection.cs
- TagPrefixCollection.cs
- MarginCollapsingState.cs
- FixedStringLookup.cs
- SectionVisual.cs
- XPathSingletonIterator.cs
- XmlJsonWriter.cs
- log.cs
- ComponentResourceKeyConverter.cs
- NameSpaceExtractor.cs
- DataGridViewBindingCompleteEventArgs.cs
- DetailsViewPagerRow.cs
- FrugalList.cs
- ASCIIEncoding.cs
- FontInfo.cs
- BooleanStorage.cs
- CellLabel.cs
- ObfuscationAttribute.cs
- xdrvalidator.cs
- BindingContext.cs
- Annotation.cs
- PolyBezierSegmentFigureLogic.cs
- ListBoxDesigner.cs
- SettingsAttributes.cs
- OleDbConnection.cs
- File.cs
- SqlCrossApplyToCrossJoin.cs
- UnicastIPAddressInformationCollection.cs
- SingleSelectRootGridEntry.cs
- XmlSignatureManifest.cs
- BookmarkScopeInfo.cs
- CssTextWriter.cs
- EnumBuilder.cs
- TemplateControlParser.cs
- XpsSerializerWriter.cs
- GridView.cs
- RootBrowserWindowAutomationPeer.cs
- DataControlPagerLinkButton.cs
- SettingsPropertyCollection.cs
- ClaimComparer.cs
- AppDomainInstanceProvider.cs
- FixedPageStructure.cs
- ToolStripMenuItemDesigner.cs
- METAHEADER.cs
- BufferedOutputStream.cs
- NativeRecognizer.cs
- TableSectionStyle.cs
- ObjectAnimationBase.cs
- NullRuntimeConfig.cs
- HtmlTableRow.cs
- RSAPKCS1SignatureFormatter.cs
- CancellationToken.cs
- OracleTimeSpan.cs
- PackWebResponse.cs
- WorkflowRuntimeServiceElementCollection.cs
- OperandQuery.cs
- TextEditorCharacters.cs
- ConsoleTraceListener.cs
- ObjectSet.cs
- DesignerTextWriter.cs
- ExpressionValueEditor.cs
- DockPatternIdentifiers.cs
- CreateRefExpr.cs
- SqlXmlStorage.cs
- RowVisual.cs
- LinkArea.cs
- NonBatchDirectoryCompiler.cs
- StrongNameMembershipCondition.cs
- TerminatorSinks.cs
- GuidConverter.cs
- TextEndOfLine.cs
- SchemaExporter.cs
- MessageSmuggler.cs
- ToolboxBitmapAttribute.cs
- PagerSettings.cs
- InstanceNameConverter.cs
- RecognitionEventArgs.cs
- GuidelineSet.cs
- SelectionHighlightInfo.cs
- TrackBarRenderer.cs
- ProfileGroupSettings.cs
- CollectionChangedEventManager.cs
- RequestDescription.cs
- TrackBar.cs
- PrintEvent.cs
- OrderByExpression.cs
- ValidationErrorEventArgs.cs
- ThreadExceptionEvent.cs
- AsymmetricKeyExchangeFormatter.cs
- IsolatedStorage.cs
- ThicknessAnimationBase.cs
- OpenTypeLayout.cs
- DSASignatureFormatter.cs
- CompositeDuplexBindingElementImporter.cs
- HiddenField.cs