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
- TickBar.cs
- StylusOverProperty.cs
- Geometry3D.cs
- CommandConverter.cs
- CurrencyWrapper.cs
- DesignTimeTemplateParser.cs
- X509ServiceCertificateAuthentication.cs
- AnalyzedTree.cs
- UrlPath.cs
- ToolStripDropDownItem.cs
- ObjectQueryState.cs
- UnsettableComboBox.cs
- GlobalProxySelection.cs
- NodeLabelEditEvent.cs
- HTMLTagNameToTypeMapper.cs
- DataServiceHostFactory.cs
- InternalConfigEventArgs.cs
- WebPartZoneCollection.cs
- DetailsViewCommandEventArgs.cs
- LogAppendAsyncResult.cs
- SafeProcessHandle.cs
- EntityDataSourceQueryBuilder.cs
- Gdiplus.cs
- EditorZoneBase.cs
- CoTaskMemHandle.cs
- UserUseLicenseDictionaryLoader.cs
- XmlSchemaSimpleContent.cs
- EndpointIdentityExtension.cs
- SignatureDescription.cs
- SoapCodeExporter.cs
- PhysicalFontFamily.cs
- EncryptedType.cs
- ChameleonKey.cs
- ComplexPropertyEntry.cs
- ObjectDataSourceDisposingEventArgs.cs
- EmptyCollection.cs
- SamlDoNotCacheCondition.cs
- Matrix3DStack.cs
- GridViewCellAutomationPeer.cs
- SqlStatistics.cs
- QuotedPairReader.cs
- UnsafeNativeMethods.cs
- WorkflowPageSetupDialog.cs
- FileDetails.cs
- SrgsRuleRef.cs
- DataSourceComponent.cs
- SqlTopReducer.cs
- XmlCustomFormatter.cs
- StyleCollection.cs
- OutputCacheSettingsSection.cs
- MultitargetingHelpers.cs
- SystemWebCachingSectionGroup.cs
- SendActivityValidator.cs
- ToolZone.cs
- SqlConnectionPoolProviderInfo.cs
- Compiler.cs
- SHA512Cng.cs
- SqlUserDefinedTypeAttribute.cs
- ReflectEventDescriptor.cs
- ExpandCollapsePatternIdentifiers.cs
- RegexMatchCollection.cs
- FileDataSourceCache.cs
- UrlUtility.cs
- TreeViewHitTestInfo.cs
- MessageDesigner.cs
- SynchronizedCollection.cs
- XsdBuildProvider.cs
- ByValueEqualityComparer.cs
- XmlElement.cs
- RenderDataDrawingContext.cs
- SByte.cs
- ResourcesGenerator.cs
- DataListItem.cs
- ChangeInterceptorAttribute.cs
- RangeValuePattern.cs
- WindowsGraphics2.cs
- SqlDataSourceEnumerator.cs
- SmiMetaData.cs
- PrinterUnitConvert.cs
- GeneratedContractType.cs
- PaperSource.cs
- ObjectStateFormatter.cs
- SequenceDesigner.xaml.cs
- XamlFilter.cs
- SelectorItemAutomationPeer.cs
- RequestQueryProcessor.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- DesignerDataTable.cs
- ImpersonationContext.cs
- ValueUtilsSmi.cs
- SpellerStatusTable.cs
- XmlSecureResolver.cs
- HtmlControlAdapter.cs
- TransformerInfoCollection.cs
- ConsoleCancelEventArgs.cs
- TileBrush.cs
- ObjectSet.cs
- QueryCacheKey.cs
- ClusterRegistryConfigurationProvider.cs
- TableLayout.cs