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;
///
///
/// [To be supplied.]
///
[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.
//------------------------------------------------------------------------------
//
// 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;
///
///
/// [To be supplied.]
///
[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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CqlParserHelpers.cs
- AppDomainFactory.cs
- CompilationLock.cs
- ValidationErrorCollection.cs
- NullableConverter.cs
- DataGridViewRowPostPaintEventArgs.cs
- DataGridViewCellCollection.cs
- LowerCaseStringConverter.cs
- ComponentChangingEvent.cs
- ReverseInheritProperty.cs
- AutomationIdentifier.cs
- Membership.cs
- MemberPath.cs
- DragStartedEventArgs.cs
- BitConverter.cs
- WmlPanelAdapter.cs
- CompoundFileIOPermission.cs
- OdbcFactory.cs
- Label.cs
- DocobjHost.cs
- TraceListeners.cs
- CodeTypeDeclarationCollection.cs
- WorkflowHostingResponseContext.cs
- FileChangesMonitor.cs
- ServiceHttpModule.cs
- Point3DValueSerializer.cs
- TextureBrush.cs
- NumberSubstitution.cs
- LocalizationComments.cs
- TraceProvider.cs
- AttributeSetAction.cs
- ProcessHostFactoryHelper.cs
- WebPartConnectVerb.cs
- EntityTypeBase.cs
- PtsPage.cs
- StylusPointProperties.cs
- HandleRef.cs
- Range.cs
- UrlMappingsModule.cs
- SqlExpander.cs
- SudsWriter.cs
- BufferedWebEventProvider.cs
- ScaleTransform.cs
- FontStretch.cs
- SymbolEqualComparer.cs
- ProfileProvider.cs
- VScrollBar.cs
- InputLanguage.cs
- OdbcReferenceCollection.cs
- IntegerValidator.cs
- HttpSessionStateBase.cs
- GlobalizationAssembly.cs
- RecognizedAudio.cs
- XamlBrushSerializer.cs
- SqlRowUpdatedEvent.cs
- KnownTypeHelper.cs
- ComponentCollection.cs
- TableItemStyle.cs
- SchemaImporter.cs
- SizeConverter.cs
- StrokeNode.cs
- NegationPusher.cs
- FieldMetadata.cs
- ColumnBinding.cs
- JsonFormatReaderGenerator.cs
- DataReceivedEventArgs.cs
- TextTreeInsertUndoUnit.cs
- DataListAutoFormat.cs
- HtmlWindow.cs
- ReadOnlyAttribute.cs
- KeyBinding.cs
- PingOptions.cs
- RefreshEventArgs.cs
- StringStorage.cs
- ToolStripContentPanel.cs
- ReceiveContent.cs
- TdsRecordBufferSetter.cs
- XmlConverter.cs
- SystemWebSectionGroup.cs
- TextDecorationCollection.cs
- CompositeActivityDesigner.cs
- RichTextBox.cs
- WebPartCatalogCloseVerb.cs
- DesignerInterfaces.cs
- MeshGeometry3D.cs
- PropertyMapper.cs
- ListBoxItemAutomationPeer.cs
- SqlMetaData.cs
- WindowsScrollBar.cs
- ResponseStream.cs
- DesignerVerbCollection.cs
- PermissionSetEnumerator.cs
- StorageEntityContainerMapping.cs
- PropertyCondition.cs
- MenuItem.cs
- Bits.cs
- WorkflowInstance.cs
- ExtractorMetadata.cs
- FileDialog.cs
- Vars.cs