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
- MetafileEditor.cs
- WebPartCloseVerb.cs
- DelegatedStream.cs
- TypeConverterHelper.cs
- TextServicesPropertyRanges.cs
- SessionEndedEventArgs.cs
- ConfigurationStrings.cs
- SortQuery.cs
- AxParameterData.cs
- IndentTextWriter.cs
- GeometryConverter.cs
- TextEndOfParagraph.cs
- HGlobalSafeHandle.cs
- ExtendedProtectionPolicy.cs
- SoapAttributeOverrides.cs
- Resources.Designer.cs
- UpdatePanel.cs
- EnvelopedPkcs7.cs
- SingleResultAttribute.cs
- ParsedRoute.cs
- SystemGatewayIPAddressInformation.cs
- RuntimeCompatibilityAttribute.cs
- SoapInteropTypes.cs
- ResourceManager.cs
- MenuItemStyle.cs
- GroupBox.cs
- CertificateManager.cs
- _Events.cs
- SpecialTypeDataContract.cs
- InstalledFontCollection.cs
- CurrentChangedEventManager.cs
- SystemFonts.cs
- HostedHttpTransportManager.cs
- MemberDomainMap.cs
- SettingsAttributes.cs
- Choices.cs
- MexNamedPipeBindingElement.cs
- KeyFrames.cs
- DataBindingList.cs
- CipherData.cs
- FixedBufferAttribute.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- EmptyEnumerator.cs
- NestedContainer.cs
- CmsUtils.cs
- ScalarType.cs
- TargetException.cs
- KnowledgeBase.cs
- EntitySetBase.cs
- XhtmlConformanceSection.cs
- ReadWriteObjectLock.cs
- HwndSource.cs
- Parameter.cs
- RichTextBoxConstants.cs
- InputManager.cs
- DotExpr.cs
- GlyphingCache.cs
- DoubleConverter.cs
- PathFigureCollection.cs
- AccessibilityHelperForXpWin2k3.cs
- DifferencingCollection.cs
- SByteConverter.cs
- GridItem.cs
- _UriTypeConverter.cs
- AuthenticatedStream.cs
- RegexCompiler.cs
- MessageDecoder.cs
- XpsPackagingPolicy.cs
- WebPartsPersonalizationAuthorization.cs
- XmlBinaryReader.cs
- StaticResourceExtension.cs
- ConnectionManagementSection.cs
- InsufficientExecutionStackException.cs
- PrinterUnitConvert.cs
- DirtyTextRange.cs
- SqlWebEventProvider.cs
- ExpressionBuilderCollection.cs
- XhtmlBasicTextViewAdapter.cs
- SmtpDigestAuthenticationModule.cs
- BamlTreeMap.cs
- InputGestureCollection.cs
- HandlerBase.cs
- DbConnectionStringCommon.cs
- sqlmetadatafactory.cs
- WsatServiceCertificate.cs
- HtmlInputPassword.cs
- ElementUtil.cs
- AnnotationDocumentPaginator.cs
- ReadOnlyHierarchicalDataSourceView.cs
- WorkflowOperationBehavior.cs
- ErrorHandlerModule.cs
- XPathChildIterator.cs
- FragmentQueryKB.cs
- ProviderIncompatibleException.cs
- Lasso.cs
- GetWinFXPath.cs
- NullableIntMinMaxAggregationOperator.cs
- DependencyObjectPropertyDescriptor.cs
- XmlAnyElementAttribute.cs
- Helpers.cs