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
- ConditionChanges.cs
- PageThemeBuildProvider.cs
- ThicknessAnimationBase.cs
- DataGridCheckBoxColumn.cs
- ClientProxyGenerator.cs
- FilteredSchemaElementLookUpTable.cs
- PermissionListSet.cs
- NetworkAddressChange.cs
- GeneralTransform3DTo2D.cs
- ServiceChannelProxy.cs
- OciHandle.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- TransactionFlowElement.cs
- Ray3DHitTestResult.cs
- PlanCompilerUtil.cs
- ProjectionCamera.cs
- SessionParameter.cs
- PopOutPanel.cs
- VectorCollectionConverter.cs
- HashCryptoHandle.cs
- Unit.cs
- FirstMatchCodeGroup.cs
- WeakEventManager.cs
- AuthenticateEventArgs.cs
- MemoryPressure.cs
- RoleBoolean.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- SharedDp.cs
- SQLGuidStorage.cs
- WebPartTransformerCollection.cs
- ExceptionHelpers.cs
- SQLMembershipProvider.cs
- PropertyCondition.cs
- ListenerElementsCollection.cs
- NamespaceDisplayAutomationPeer.cs
- EntityDesignerBuildProvider.cs
- OleStrCAMarshaler.cs
- SBCSCodePageEncoding.cs
- HyperLinkColumn.cs
- TreeNodeBindingDepthConverter.cs
- BitStack.cs
- GAC.cs
- TracedNativeMethods.cs
- StrongNameUtility.cs
- UnescapedXmlDiagnosticData.cs
- HtmlTableCellCollection.cs
- ToolStripDropDownMenu.cs
- InkCanvasInnerCanvas.cs
- IncomingWebRequestContext.cs
- ExpressionBuilder.cs
- ToolboxItemFilterAttribute.cs
- WebPartDescriptionCollection.cs
- DbInsertCommandTree.cs
- LabelLiteral.cs
- PageAsyncTask.cs
- DataServiceStreamProviderWrapper.cs
- FileDialogPermission.cs
- _UriSyntax.cs
- UriScheme.cs
- SettingsSavedEventArgs.cs
- CalloutQueueItem.cs
- MultipleCopiesCollection.cs
- SqlDataSourceView.cs
- MessageHeaderInfoTraceRecord.cs
- QilName.cs
- SafeFindHandle.cs
- SapiRecognizer.cs
- AttributeQuery.cs
- cache.cs
- ObjectSet.cs
- unsafenativemethodsother.cs
- Random.cs
- EmptyEnumerable.cs
- ColumnReorderedEventArgs.cs
- TreeViewBindingsEditorForm.cs
- ConfigurationSettings.cs
- BitmapDownload.cs
- XsltException.cs
- ExtenderProvidedPropertyAttribute.cs
- GradientBrush.cs
- EasingKeyFrames.cs
- XmlMapping.cs
- PathSegment.cs
- EdmPropertyAttribute.cs
- TrackPointCollection.cs
- ClrProviderManifest.cs
- IdnMapping.cs
- Form.cs
- DescriptionAttribute.cs
- CustomGrammar.cs
- ItemsChangedEventArgs.cs
- DelegateOutArgument.cs
- DesignerHelpers.cs
- IntSecurity.cs
- XmlSchemaSimpleTypeList.cs
- Membership.cs
- AQNBuilder.cs
- NameSpaceExtractor.cs
- FixedSOMTable.cs
- SignatureGenerator.cs