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
- DATA_BLOB.cs
- NonVisualControlAttribute.cs
- XmlEntity.cs
- TextMessageEncodingBindingElement.cs
- ImageInfo.cs
- TransformCollection.cs
- MULTI_QI.cs
- Canvas.cs
- SpotLight.cs
- TypedTableBaseExtensions.cs
- ApplicationServiceManager.cs
- ValidatingReaderNodeData.cs
- XmlComment.cs
- HierarchicalDataTemplate.cs
- SiteMapNodeItem.cs
- UrlMappingCollection.cs
- Visitors.cs
- WebConfigurationManager.cs
- Operator.cs
- HashCryptoHandle.cs
- KeyInterop.cs
- validationstate.cs
- AppSettingsExpressionBuilder.cs
- CommandTreeTypeHelper.cs
- InternalBase.cs
- ToolStripGripRenderEventArgs.cs
- TemplatePropertyEntry.cs
- PiiTraceSource.cs
- AggregateNode.cs
- OdbcInfoMessageEvent.cs
- RuntimeEnvironment.cs
- DataGridViewTopRowAccessibleObject.cs
- BatchStream.cs
- UnmanagedBitmapWrapper.cs
- PauseStoryboard.cs
- ExpandedProjectionNode.cs
- StatusBarItemAutomationPeer.cs
- CompositeActivityValidator.cs
- ParameterToken.cs
- PropertyCollection.cs
- OleDbStruct.cs
- ValidationRuleCollection.cs
- Types.cs
- DataProtection.cs
- Image.cs
- CqlLexer.cs
- WindowsProgressbar.cs
- FunctionImportElement.cs
- ExtensionFile.cs
- TraceRecord.cs
- TextSegment.cs
- SqlDataSourceSelectingEventArgs.cs
- SerializationInfoEnumerator.cs
- documentsequencetextcontainer.cs
- TreeNodeClickEventArgs.cs
- DES.cs
- OracleException.cs
- WindowsEditBox.cs
- HiddenFieldPageStatePersister.cs
- CodeMethodReturnStatement.cs
- LogLogRecord.cs
- BaseServiceProvider.cs
- DetailsViewPagerRow.cs
- TargetControlTypeAttribute.cs
- TrackingStringDictionary.cs
- TreeView.cs
- Utils.cs
- PipelineDeploymentState.cs
- RequiredFieldValidator.cs
- EndEvent.cs
- Byte.cs
- ExceptionHandlerDesigner.cs
- EventsTab.cs
- Size.cs
- ForeignConstraint.cs
- EarlyBoundInfo.cs
- WebPartEditorApplyVerb.cs
- TraceLog.cs
- Visitor.cs
- SvcMapFileSerializer.cs
- StringArrayEditor.cs
- IncrementalCompileAnalyzer.cs
- FormViewPageEventArgs.cs
- InheritablePropertyChangeInfo.cs
- ipaddressinformationcollection.cs
- TextBoxRenderer.cs
- IPipelineRuntime.cs
- PKCS1MaskGenerationMethod.cs
- DrawingGroup.cs
- AlternateView.cs
- DriveNotFoundException.cs
- WindowCollection.cs
- DataGridViewRowsRemovedEventArgs.cs
- TextBox.cs
- PackageFilter.cs
- FolderBrowserDialog.cs
- DelimitedListTraceListener.cs
- DocumentAutomationPeer.cs
- RawUIStateInputReport.cs
- HtmlInputSubmit.cs