Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Web / System / Web / Services / WebServiceBindingAttribute.cs / 1305376 / WebServiceBindingAttribute.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Services { using System; using System.ComponentModel; using System.Web.Services.Protocols; using System.Runtime.InteropServices; ////// /// [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface, AllowMultiple=true)] public sealed class WebServiceBindingAttribute : Attribute { string name; string ns; string location; WsiProfiles claims = WsiProfiles.None; bool emitClaims; ///[To be supplied.] ////// /// public WebServiceBindingAttribute() { } ///[To be supplied.] ////// /// public WebServiceBindingAttribute(string name) { this.name = name; } ///[To be supplied.] ////// /// public WebServiceBindingAttribute(string name, string ns) { this.name = name; this.ns = ns; } ///[To be supplied.] ////// /// public WebServiceBindingAttribute(string name, string ns, string location) { this.name = name; this.ns = ns; this.location = location; } ///[To be supplied.] ////// /// public WsiProfiles ConformsTo { get { return claims; } set { claims = value; } } ///[To be supplied.] ////// /// public bool EmitConformanceClaims { get { return emitClaims; } set { emitClaims = value; } } ///[To be supplied.] ////// /// public string Location { get { return location == null ? string.Empty : location; } set { location = value; } } ///[To be supplied.] ////// /// public string Name { get { return name == null ? string.Empty : name; } set { name = value; } } ///[To be supplied.] ////// /// public string Namespace { get { return ns == null ? string.Empty : ns; } set { ns = value; } } } internal class WebServiceBindingReflector { private WebServiceBindingReflector() {} internal static WebServiceBindingAttribute GetAttribute(Type type) { for (; type != null; type = type.BaseType) { object[] attrs = type.GetCustomAttributes(typeof(WebServiceBindingAttribute), false); if (attrs.Length == 0) continue; if (attrs.Length > 1) throw new ArgumentException(Res.GetString(Res.OnlyOneWebServiceBindingAttributeMayBeSpecified1, type.FullName), "type"); return (WebServiceBindingAttribute)attrs[0]; } return null; } internal static WebServiceBindingAttribute GetAttribute(LogicalMethodInfo methodInfo, string binding) { if (methodInfo.Binding != null) { if (binding.Length > 0 && methodInfo.Binding.Name != binding) throw new InvalidOperationException(Res.GetString(Res.WebInvalidBindingName, binding, methodInfo.Binding.Name)); return methodInfo.Binding; } Type type = methodInfo.DeclaringType; object[] attrs = type.GetCustomAttributes(typeof(WebServiceBindingAttribute), false); WebServiceBindingAttribute webAttr = null; foreach (WebServiceBindingAttribute attr in attrs) { if (attr.Name == binding) { if (webAttr != null) throw new ArgumentException(Res.GetString(Res.MultipleBindingsWithSameName2, type.FullName, binding, "methodInfo")); webAttr = attr; } } if (webAttr == null && binding != null && binding.Length > 0) throw new ArgumentException(Res.GetString(Res.TypeIsMissingWebServiceBindingAttributeThat2, type.FullName, binding), "methodInfo"); return webAttr; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Services { using System; using System.ComponentModel; using System.Web.Services.Protocols; using System.Runtime.InteropServices; ////// /// [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface, AllowMultiple=true)] public sealed class WebServiceBindingAttribute : Attribute { string name; string ns; string location; WsiProfiles claims = WsiProfiles.None; bool emitClaims; ///[To be supplied.] ////// /// public WebServiceBindingAttribute() { } ///[To be supplied.] ////// /// public WebServiceBindingAttribute(string name) { this.name = name; } ///[To be supplied.] ////// /// public WebServiceBindingAttribute(string name, string ns) { this.name = name; this.ns = ns; } ///[To be supplied.] ////// /// public WebServiceBindingAttribute(string name, string ns, string location) { this.name = name; this.ns = ns; this.location = location; } ///[To be supplied.] ////// /// public WsiProfiles ConformsTo { get { return claims; } set { claims = value; } } ///[To be supplied.] ////// /// public bool EmitConformanceClaims { get { return emitClaims; } set { emitClaims = value; } } ///[To be supplied.] ////// /// public string Location { get { return location == null ? string.Empty : location; } set { location = value; } } ///[To be supplied.] ////// /// public string Name { get { return name == null ? string.Empty : name; } set { name = value; } } ///[To be supplied.] ////// /// public string Namespace { get { return ns == null ? string.Empty : ns; } set { ns = value; } } } internal class WebServiceBindingReflector { private WebServiceBindingReflector() {} internal static WebServiceBindingAttribute GetAttribute(Type type) { for (; type != null; type = type.BaseType) { object[] attrs = type.GetCustomAttributes(typeof(WebServiceBindingAttribute), false); if (attrs.Length == 0) continue; if (attrs.Length > 1) throw new ArgumentException(Res.GetString(Res.OnlyOneWebServiceBindingAttributeMayBeSpecified1, type.FullName), "type"); return (WebServiceBindingAttribute)attrs[0]; } return null; } internal static WebServiceBindingAttribute GetAttribute(LogicalMethodInfo methodInfo, string binding) { if (methodInfo.Binding != null) { if (binding.Length > 0 && methodInfo.Binding.Name != binding) throw new InvalidOperationException(Res.GetString(Res.WebInvalidBindingName, binding, methodInfo.Binding.Name)); return methodInfo.Binding; } Type type = methodInfo.DeclaringType; object[] attrs = type.GetCustomAttributes(typeof(WebServiceBindingAttribute), false); WebServiceBindingAttribute webAttr = null; foreach (WebServiceBindingAttribute attr in attrs) { if (attr.Name == binding) { if (webAttr != null) throw new ArgumentException(Res.GetString(Res.MultipleBindingsWithSameName2, type.FullName, binding, "methodInfo")); webAttr = attr; } } if (webAttr == null && binding != null && binding.Length > 0) throw new ArgumentException(Res.GetString(Res.TypeIsMissingWebServiceBindingAttributeThat2, type.FullName, binding), "methodInfo"); return webAttr; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ComplexBindingPropertiesAttribute.cs
- ComponentDispatcher.cs
- TableMethodGenerator.cs
- PagesSection.cs
- Int16.cs
- handlecollector.cs
- CodeSubDirectoriesCollection.cs
- ManifestSignatureInformation.cs
- HttpStreams.cs
- CompositeDataBoundControl.cs
- MetadataArtifactLoaderResource.cs
- DataGridSortCommandEventArgs.cs
- ToolTipAutomationPeer.cs
- WebHeaderCollection.cs
- COM2IProvidePropertyBuilderHandler.cs
- DrawingContextWalker.cs
- PropertyBuilder.cs
- ObjectDataSourceEventArgs.cs
- StyleHelper.cs
- NativeMethods.cs
- propertyentry.cs
- SmiEventSink_DeferedProcessing.cs
- OptionUsage.cs
- LeftCellWrapper.cs
- CqlLexerHelpers.cs
- ContractComponent.cs
- SecurityContextSecurityTokenParameters.cs
- KnownColorTable.cs
- Annotation.cs
- SqlDataSourceConfigureFilterForm.cs
- GreenMethods.cs
- DataGridViewDataConnection.cs
- XMLDiffLoader.cs
- HttpBrowserCapabilitiesWrapper.cs
- ThicknessAnimation.cs
- ExpandableObjectConverter.cs
- PolygonHotSpot.cs
- SecurityRuntime.cs
- NameNode.cs
- DataGridTablesFactory.cs
- Events.cs
- TabOrder.cs
- XmlSchemaInclude.cs
- RelationshipDetailsRow.cs
- TypeLoader.cs
- FontFamilyIdentifier.cs
- DataListItem.cs
- precedingsibling.cs
- HttpListenerPrefixCollection.cs
- RestHandler.cs
- HitTestParameters.cs
- XmlAttributeAttribute.cs
- messageonlyhwndwrapper.cs
- CompensationDesigner.cs
- FunctionQuery.cs
- SafeSecurityHandles.cs
- XamlClipboardData.cs
- ModulesEntry.cs
- FontCacheLogic.cs
- NameTable.cs
- FontStretchConverter.cs
- QilGeneratorEnv.cs
- DiffuseMaterial.cs
- DependencyPropertyDescriptor.cs
- CopyCodeAction.cs
- Geometry3D.cs
- CategoryEditor.cs
- RsaSecurityTokenAuthenticator.cs
- Point4DConverter.cs
- ScopelessEnumAttribute.cs
- BordersPage.cs
- Point3D.cs
- HwndHost.cs
- OpenTypeCommon.cs
- _StreamFramer.cs
- WebConfigurationManager.cs
- ResourceAssociationTypeEnd.cs
- StatusBarDrawItemEvent.cs
- BaseTemplateCodeDomTreeGenerator.cs
- CodeBlockBuilder.cs
- ArrangedElement.cs
- ZipIORawDataFileBlock.cs
- TableNameAttribute.cs
- UserNameSecurityToken.cs
- DynamicUpdateCommand.cs
- LocalizabilityAttribute.cs
- DbCommandTree.cs
- XmlSignificantWhitespace.cs
- RegexRunnerFactory.cs
- ISAPIWorkerRequest.cs
- ColorConvertedBitmap.cs
- PaintEvent.cs
- DateTimeStorage.cs
- PropertyFilterAttribute.cs
- Operator.cs
- Root.cs
- TransformationRules.cs
- ScriptManager.cs
- DeploymentExceptionMapper.cs
- TileBrush.cs