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
- ParameterElementCollection.cs
- RadioButton.cs
- ListControlBoundActionList.cs
- Privilege.cs
- CommandHelpers.cs
- FixedPageAutomationPeer.cs
- ThreadInterruptedException.cs
- odbcmetadatafactory.cs
- XmlSchemaInferenceException.cs
- WebServiceClientProxyGenerator.cs
- ServiceDocument.cs
- PublisherIdentityPermission.cs
- WriterOutput.cs
- EmissiveMaterial.cs
- HorizontalAlignConverter.cs
- PopupRootAutomationPeer.cs
- MeasureData.cs
- clipboard.cs
- WebBrowserHelper.cs
- DBParameter.cs
- OracleEncoding.cs
- MemberPath.cs
- DetailsViewCommandEventArgs.cs
- TypeUsage.cs
- String.cs
- MimeObjectFactory.cs
- ObjectHelper.cs
- WebPartsPersonalization.cs
- DescendantQuery.cs
- AxHost.cs
- WebEvents.cs
- DbDataAdapter.cs
- ListenerConstants.cs
- DictionaryEntry.cs
- TemplateBuilder.cs
- CodeArrayCreateExpression.cs
- ComNativeDescriptor.cs
- WorkflowDesigner.cs
- EventLogEntryCollection.cs
- Int32AnimationUsingKeyFrames.cs
- DBCSCodePageEncoding.cs
- IRCollection.cs
- PolyLineSegment.cs
- EntryPointNotFoundException.cs
- UnionCodeGroup.cs
- _UncName.cs
- EnumerableRowCollection.cs
- KeyNotFoundException.cs
- ExpressionReplacer.cs
- WebSysDisplayNameAttribute.cs
- InheritanceContextHelper.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- WebReferenceCollection.cs
- WindowsScrollBar.cs
- PrintDialog.cs
- SQLBinary.cs
- DragAssistanceManager.cs
- Viewport2DVisual3D.cs
- CleanUpVirtualizedItemEventArgs.cs
- JsonFormatGeneratorStatics.cs
- StringUtil.cs
- VBCodeProvider.cs
- ClientApiGenerator.cs
- JapaneseLunisolarCalendar.cs
- OleDbDataReader.cs
- Delay.cs
- ProxyGenerator.cs
- SrgsToken.cs
- LocationReference.cs
- PointF.cs
- RemotingServices.cs
- EventManager.cs
- XmlElementAttribute.cs
- WrappedIUnknown.cs
- MessageBox.cs
- Avt.cs
- WebPartTransformerAttribute.cs
- ScriptHandlerFactory.cs
- Process.cs
- _IPv4Address.cs
- HtmlHistory.cs
- SafeRightsManagementHandle.cs
- SerializationException.cs
- SoapFormatter.cs
- AttributeCollection.cs
- Pointer.cs
- PathFigureCollectionConverter.cs
- XmlSchemaImporter.cs
- ComAdminInterfaces.cs
- StateWorkerRequest.cs
- Itemizer.cs
- JavaScriptSerializer.cs
- DESCryptoServiceProvider.cs
- CounterCreationDataConverter.cs
- NullableDecimalMinMaxAggregationOperator.cs
- ToolStripItem.cs
- CmsInterop.cs
- PassportAuthenticationEventArgs.cs
- ConsumerConnectionPoint.cs
- PointCollection.cs