Code:
/ 4.0 / 4.0 / untmp / 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.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AuthenticationModuleElement.cs
- ObjectConverter.cs
- Ops.cs
- PluralizationService.cs
- ActiveXHost.cs
- EraserBehavior.cs
- AlignmentYValidation.cs
- _emptywebproxy.cs
- XmlWriterSettings.cs
- TextureBrush.cs
- AssemblyName.cs
- FrameSecurityDescriptor.cs
- InputReport.cs
- WindowsFormsSectionHandler.cs
- PropertyGeneratedEventArgs.cs
- ListSortDescription.cs
- WindowInteractionStateTracker.cs
- HtmlDocument.cs
- TraceData.cs
- SchemaEntity.cs
- ColorTransformHelper.cs
- SqlFlattener.cs
- UnsafeNativeMethodsCLR.cs
- BuildProvider.cs
- BinaryCommonClasses.cs
- TraceSection.cs
- DbParameterHelper.cs
- DbProviderFactory.cs
- EntityViewContainer.cs
- HttpConfigurationSystem.cs
- HttpRequestCacheValidator.cs
- HttpsChannelFactory.cs
- ObjectList.cs
- ServicePoint.cs
- HttpValueCollection.cs
- DefaultEventAttribute.cs
- RequestCacheValidator.cs
- ProfileServiceManager.cs
- DataGridTemplateColumn.cs
- MouseEvent.cs
- GlobalizationSection.cs
- QueryReaderSettings.cs
- InputLangChangeEvent.cs
- IgnoreDataMemberAttribute.cs
- PageSetupDialog.cs
- UnsafeNativeMethods.cs
- RegexWorker.cs
- FixedTextContainer.cs
- ShutDownListener.cs
- SettingsContext.cs
- QuestionEventArgs.cs
- infer.cs
- XamlRtfConverter.cs
- XhtmlTextWriter.cs
- RawMouseInputReport.cs
- ArgumentException.cs
- ToolStripMenuItem.cs
- NameTable.cs
- DropSource.cs
- IChannel.cs
- ByteStreamGeometryContext.cs
- ClaimTypes.cs
- DescendantBaseQuery.cs
- WebControlAdapter.cs
- GradientStop.cs
- HostedHttpContext.cs
- ArgIterator.cs
- RemoteWebConfigurationHostStream.cs
- XMLSyntaxException.cs
- ResourceManager.cs
- BaseCodeDomTreeGenerator.cs
- SubMenuStyle.cs
- FileDialogPermission.cs
- DataServiceRequest.cs
- GridViewUpdatedEventArgs.cs
- WaitingCursor.cs
- SoapIgnoreAttribute.cs
- DelegateBodyWriter.cs
- Rotation3DAnimationBase.cs
- ExtensionQuery.cs
- LoadedOrUnloadedOperation.cs
- FormDocumentDesigner.cs
- DataGridRowAutomationPeer.cs
- AnnotationAdorner.cs
- BitConverter.cs
- PipelineModuleStepContainer.cs
- ContentPlaceHolder.cs
- XmlTextReaderImplHelpers.cs
- CopyAction.cs
- HijriCalendar.cs
- GeneratedContractType.cs
- CapabilitiesRule.cs
- SimpleBitVector32.cs
- DataGridViewRowPrePaintEventArgs.cs
- BuilderElements.cs
- Resources.Designer.cs
- AnimationTimeline.cs
- XmlNamespaceMappingCollection.cs
- SafePEFileHandle.cs
- FormViewCommandEventArgs.cs