Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / BinaryNegotiation.cs / 1 / BinaryNegotiation.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Security { using System; using System.Xml; using System.ServiceModel.Channels; internal sealed class BinaryNegotiation { private byte[] negotiationData; XmlDictionaryString valueTypeUriDictionaryString; string valueTypeUri; public BinaryNegotiation( string valueTypeUri, byte[] negotiationData) { if (valueTypeUri == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("valueTypeUri"); } if (negotiationData == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("negotiationData"); } this.valueTypeUriDictionaryString = null; this.valueTypeUri = valueTypeUri; this.negotiationData = negotiationData; } public BinaryNegotiation( XmlDictionaryString valueTypeDictionaryString, byte[] negotiationData) { if (valueTypeDictionaryString == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("valueTypeDictionaryString"); } if (negotiationData == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("negotiationData"); } this.valueTypeUriDictionaryString = valueTypeDictionaryString; this.valueTypeUri = valueTypeDictionaryString.Value; this.negotiationData = negotiationData; } public void Validate(XmlDictionaryString valueTypeUriDictionaryString) { if (this.valueTypeUri != valueTypeUriDictionaryString.Value) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityNegotiationException(SR.GetString(SR.IncorrectBinaryNegotiationValueType, this.valueTypeUri))); } this.valueTypeUriDictionaryString = valueTypeUriDictionaryString; } public void WriteTo(XmlDictionaryWriter writer, string prefix, XmlDictionaryString localName, XmlDictionaryString ns, XmlDictionaryString valueTypeLocalName, XmlDictionaryString valueTypeNs) { writer.WriteStartElement(prefix, localName, ns); writer.WriteStartAttribute(valueTypeLocalName, valueTypeNs); if (valueTypeUriDictionaryString != null) writer.WriteString(valueTypeUriDictionaryString); else writer.WriteString(valueTypeUri); writer.WriteEndAttribute(); writer.WriteStartAttribute(XD.SecurityJan2004Dictionary.EncodingType, null); writer.WriteString(XD.SecurityJan2004Dictionary.EncodingTypeValueBase64Binary); writer.WriteEndAttribute(); writer.WriteBase64(this.negotiationData, 0, this.negotiationData.Length); writer.WriteEndElement(); } public string ValueTypeUri { get { return this.valueTypeUri; } } public byte[] GetNegotiationData() { // avoid copying since this is internal and callers use it as read-only return this.negotiationData; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SinglePageViewer.cs
- SerializationInfoEnumerator.cs
- ObjectIDGenerator.cs
- SecurityUtils.cs
- QueryStringParameter.cs
- CompiledQuery.cs
- Camera.cs
- ResXDataNode.cs
- HelpFileFileNameEditor.cs
- HttpCapabilitiesEvaluator.cs
- TogglePattern.cs
- GlobalEventManager.cs
- IdentityVerifier.cs
- XXXOnTypeBuilderInstantiation.cs
- CellPartitioner.cs
- RegistrationServices.cs
- BulletChrome.cs
- TransportSecurityProtocol.cs
- ReadOnlyDataSource.cs
- TextFindEngine.cs
- PerformanceCounterManager.cs
- CapiNative.cs
- NativeWindow.cs
- WindowsNonControl.cs
- XmlSchemaNotation.cs
- CompositeFontInfo.cs
- OracleInfoMessageEventArgs.cs
- SQLDouble.cs
- dataobject.cs
- ToolStripRenderEventArgs.cs
- GridItemProviderWrapper.cs
- HttpFileCollection.cs
- Int32Storage.cs
- VisualBrush.cs
- EntityDataSourceEntitySetNameItem.cs
- EventLogSession.cs
- JournalEntryListConverter.cs
- URLMembershipCondition.cs
- DockingAttribute.cs
- PopupControlService.cs
- WebDescriptionAttribute.cs
- SqlError.cs
- OrderedDictionary.cs
- OleDbInfoMessageEvent.cs
- ProgramPublisher.cs
- Figure.cs
- ReadWriteObjectLock.cs
- SystemSounds.cs
- InputLangChangeEvent.cs
- Label.cs
- CollectionViewGroupRoot.cs
- ComponentGuaranteesAttribute.cs
- StylusPoint.cs
- WebBrowser.cs
- BitmapInitialize.cs
- XmlObjectSerializerWriteContext.cs
- CfgArc.cs
- PropertyMetadata.cs
- XNameTypeConverter.cs
- Dispatcher.cs
- ToolBarTray.cs
- BindableAttribute.cs
- SQLDateTime.cs
- StreamingContext.cs
- XsltContext.cs
- SqlAliasesReferenced.cs
- PrintingPermissionAttribute.cs
- ListMarkerLine.cs
- SessionStateItemCollection.cs
- FrameworkTemplate.cs
- Utils.cs
- CompositeKey.cs
- DateBoldEvent.cs
- StrokeCollectionDefaultValueFactory.cs
- DependencyPropertyConverter.cs
- SmiContext.cs
- PeerCollaborationPermission.cs
- dataobject.cs
- Content.cs
- XdrBuilder.cs
- TableLayoutSettings.cs
- SizeConverter.cs
- Imaging.cs
- StringArrayConverter.cs
- TerminatorSinks.cs
- EntitySetDataBindingList.cs
- RecipientInfo.cs
- HitTestDrawingContextWalker.cs
- ColumnPropertiesGroup.cs
- MemberJoinTreeNode.cs
- BrowserDefinition.cs
- NotImplementedException.cs
- UnsafeNativeMethodsPenimc.cs
- OracleTransaction.cs
- HMACRIPEMD160.cs
- SmtpSection.cs
- ProxyHelper.cs
- AdPostCacheSubstitution.cs
- CounterNameConverter.cs
- RegexGroupCollection.cs