Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / OneWayBindingElementImporter.cs / 1 / OneWayBindingElementImporter.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.ServiceModel.Channels
{
using System.Xml;
using System.ServiceModel.Description;
using System.Collections;
public class OneWayBindingElementImporter : IPolicyImportExtension
{
public OneWayBindingElementImporter()
{
}
void IPolicyImportExtension.ImportPolicy(MetadataImporter importer, PolicyConversionContext context)
{
if (importer == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("importer");
}
if (context == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context");
}
XmlElement oneWayAssertion = PolicyConversionContext.FindAssertion(context.GetBindingAssertions(),
OneWayPolicyConstants.OneWay, OneWayPolicyConstants.Namespace, true);
if (oneWayAssertion != null)
{
OneWayBindingElement bindingElement = new OneWayBindingElement();
context.BindingElements.Add(bindingElement);
for (int i = 0; i < oneWayAssertion.ChildNodes.Count; i++)
{
XmlNode currentNode = oneWayAssertion.ChildNodes[i];
if (currentNode != null
&& currentNode.NodeType == XmlNodeType.Element
&& currentNode.NamespaceURI == OneWayPolicyConstants.Namespace
&& currentNode.LocalName == OneWayPolicyConstants.PacketRoutable)
{
bindingElement.PacketRoutable = true;
break;
}
}
}
else if (WsdlImporter.WSAddressingHelper.DetermineSupportedAddressingMode(importer, context) == SupportedAddressingMode.NonAnonymous)
{
context.BindingElements.Add(new OneWayBindingElement());
}
}
}
static class OneWayPolicyConstants
{
public const string OneWay = "OneWay";
public const string PacketRoutable = "PacketRoutable";
public const string Namespace = DotNetOneWayStrings.Namespace + "/policy";
public const string Prefix = "ow";
}
}
// 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
- OperatingSystemVersionCheck.cs
- ModifiableIteratorCollection.cs
- HttpHandlersSection.cs
- WeakReference.cs
- ByeMessageCD1.cs
- ColorConvertedBitmap.cs
- HttpCachePolicyElement.cs
- CounterSampleCalculator.cs
- DataRelationCollection.cs
- Converter.cs
- _NestedMultipleAsyncResult.cs
- Simplifier.cs
- NumericExpr.cs
- ResourceAssociationType.cs
- DrawTreeNodeEventArgs.cs
- InvokeHandlers.cs
- precedingquery.cs
- ToolStripPanelRow.cs
- MonitorWrapper.cs
- EnumMember.cs
- Knowncolors.cs
- FileEnumerator.cs
- NetworkInterface.cs
- RoutedUICommand.cs
- DataServiceResponse.cs
- CodeIdentifier.cs
- PromptBuilder.cs
- VirtualPathProvider.cs
- TemplateBuilder.cs
- LostFocusEventManager.cs
- GridViewColumnHeader.cs
- SimpleTextLine.cs
- TransactionManagerProxy.cs
- ProjectionPathBuilder.cs
- XmlLoader.cs
- PathTooLongException.cs
- ResourcePermissionBase.cs
- LinearKeyFrames.cs
- NeutralResourcesLanguageAttribute.cs
- WindowsListViewGroupHelper.cs
- Size.cs
- Expression.cs
- ButtonBaseAdapter.cs
- DeferredReference.cs
- PopupControlService.cs
- HelpProvider.cs
- MethodToken.cs
- FileDialog.cs
- SkinBuilder.cs
- Action.cs
- ComponentRenameEvent.cs
- ThicknessConverter.cs
- MissingFieldException.cs
- Update.cs
- PropertyTabAttribute.cs
- MapPathBasedVirtualPathProvider.cs
- XmlSchemaSimpleTypeRestriction.cs
- SerializationEventsCache.cs
- ParameterModifier.cs
- TextBoxLine.cs
- NamespaceList.cs
- datacache.cs
- Visual.cs
- PolygonHotSpot.cs
- FeatureSupport.cs
- DataGridViewElement.cs
- PropertyTab.cs
- CategoryEditor.cs
- HtmlElementErrorEventArgs.cs
- DiscoveryMessageProperty.cs
- XmlSchemaComplexContentExtension.cs
- WebPartPersonalization.cs
- ButtonStandardAdapter.cs
- RootAction.cs
- EventHandlerList.cs
- ImageInfo.cs
- WaitHandle.cs
- TriState.cs
- XmlAnyElementAttributes.cs
- SelectedPathEditor.cs
- TextServicesProperty.cs
- XamlPointCollectionSerializer.cs
- CodeTypeMemberCollection.cs
- AdapterUtil.cs
- Route.cs
- HtmlContainerControl.cs
- RuleCache.cs
- EventProviderTraceListener.cs
- DataBindingCollection.cs
- EncryptedPackage.cs
- DesignerDataConnection.cs
- Expression.DebuggerProxy.cs
- _NativeSSPI.cs
- TypeUsage.cs
- Int32AnimationBase.cs
- DataStreamFromComStream.cs
- PropertyValueChangedEvent.cs
- basevalidator.cs
- FixedSOMPage.cs
- TypedReference.cs