Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / Compilation / WCFModel / HttpBindingExtension.cs / 1305376 / HttpBindingExtension.cs
//------------------------------------------------------------------------------ //// Copyright (C) Microsoft Corporation. All Rights Reserved. // //----------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Security.Permissions; using System.ServiceModel; using System.ServiceModel.Description; using WsdlNS = System.Web.Services.Description; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; using System.Security; #if WEB_EXTENSIONS_CODE namespace System.Web.Compilation.WCFModel #else namespace Microsoft.VSDesigner.WCFModel #endif { ////// Wsdl import extension to remove HttpGet and HttpPost bindings for ASMX services. /// See detail in dev10 792007 /// #if WEB_EXTENSIONS_CODE [PermissionSet(SecurityAction.InheritanceDemand, Name="FullTrust")] [SecurityCritical] internal class HttpBindingExtension : IWsdlImportExtension #else [PermissionSet(SecurityAction.InheritanceDemand, Name ="FullTrust")] [SecurityCritical] internal class HttpBindingExtension : IWsdlImportExtension #endif { readonly HashSethttpBindingContracts = new HashSet (); [SecuritySafeCritical] static bool ContainsHttpBindingExtension(WsdlNS.Binding wsdlBinding) { //avoiding using wsdlBinding.Extensions.Find(typeof(WsdlNS.HttpBinding)) so the extension won't be marked as handled foreach (object extension in wsdlBinding.Extensions) { if (extension is WsdlNS.HttpBinding) { string httpVerb = ((WsdlNS.HttpBinding)extension).Verb; if (httpVerb.Equals("GET", StringComparison.OrdinalIgnoreCase) || httpVerb.Equals("POST", StringComparison.OrdinalIgnoreCase)) { return true; } } } return false; } [SecuritySafeCritical] public bool IsHttpBindingContract(ContractDescription contract) { return contract != null && httpBindingContracts.Contains(contract); } [SecuritySafeCritical] public void BeforeImport(WsdlNS.ServiceDescriptionCollection wsdlDocuments, XmlSchemaSet xmlSchemas, ICollection policy) {} [SecuritySafeCritical] public void ImportContract(WsdlImporter importer, WsdlContractConversionContext context) {} [SecuritySafeCritical] public void ImportEndpoint(WsdlImporter importer, WsdlEndpointConversionContext context) { if (context != null && context.WsdlBinding != null && ContainsHttpBindingExtension(context.WsdlBinding)) { httpBindingContracts.Add(context.ContractConversionContext.Contract); } } } } // 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
- Rotation3D.cs
- SqlCacheDependency.cs
- ErrorView.xaml.cs
- ActiveXContainer.cs
- EventListener.cs
- TextStore.cs
- MetafileHeaderWmf.cs
- TypedReference.cs
- SchemaRegistration.cs
- ResXResourceReader.cs
- OdbcStatementHandle.cs
- AssemblyCollection.cs
- StateChangeEvent.cs
- Registry.cs
- CollectionBase.cs
- ComboBox.cs
- MemoryMappedViewStream.cs
- XmlSchemaAttributeGroup.cs
- SelectedDatesCollection.cs
- AuthenticateEventArgs.cs
- ServerReliableChannelBinder.cs
- DocumentOrderQuery.cs
- CodeTypeConstructor.cs
- DataServiceClientException.cs
- FilterableAttribute.cs
- WebAdminConfigurationHelper.cs
- CheckoutException.cs
- Attributes.cs
- WebPartConnectionsConfigureVerb.cs
- ToolStripCustomTypeDescriptor.cs
- DataSet.cs
- MaterializeFromAtom.cs
- DispatcherHookEventArgs.cs
- MimeBasePart.cs
- GradientStop.cs
- HttpClientChannel.cs
- TypeLoadException.cs
- ChtmlFormAdapter.cs
- JoinSymbol.cs
- XPathParser.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- WebPartDescriptionCollection.cs
- UIntPtr.cs
- EncoderExceptionFallback.cs
- PathTooLongException.cs
- BrowserCapabilitiesFactoryBase.cs
- Button.cs
- BufferCache.cs
- WSSecurityJan2004.cs
- TextUtf8RawTextWriter.cs
- SqlServices.cs
- WindowsIPAddress.cs
- TextEditorParagraphs.cs
- SizeAnimationBase.cs
- XmlDataSourceView.cs
- Popup.cs
- XamlParser.cs
- ExeContext.cs
- AnimationClock.cs
- PrivateFontCollection.cs
- _ConnectStream.cs
- _MultipleConnectAsync.cs
- WindowsFormsHostPropertyMap.cs
- DataViewManager.cs
- SchemaNotation.cs
- PrintPreviewGraphics.cs
- EncoderNLS.cs
- TextEndOfParagraph.cs
- GrammarBuilderDictation.cs
- DataKeyArray.cs
- IOException.cs
- TableLayoutRowStyleCollection.cs
- WebPartZoneBase.cs
- CheckPair.cs
- IPEndPoint.cs
- Compilation.cs
- MemoryStream.cs
- ComponentChangingEvent.cs
- MemberRestriction.cs
- GetLedgerEntryForRecipientRequest.cs
- DictionaryManager.cs
- ComponentDesigner.cs
- TraceFilter.cs
- MessageDroppedTraceRecord.cs
- Vertex.cs
- SurrogateEncoder.cs
- SafePointer.cs
- HtmlTableCell.cs
- MouseGestureConverter.cs
- ByteStack.cs
- LoginUtil.cs
- ContainerUIElement3D.cs
- EncodingDataItem.cs
- CodeAttributeDeclaration.cs
- HopperCache.cs
- XPathNavigator.cs
- StreamGeometry.cs
- Light.cs
- EventToken.cs
- Vector3DConverter.cs