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
- KnownTypesProvider.cs
- ByteConverter.cs
- ProcessHostServerConfig.cs
- FreezableCollection.cs
- XpsLiterals.cs
- Icon.cs
- JsonWriterDelegator.cs
- Matrix3DValueSerializer.cs
- Random.cs
- TypeToken.cs
- Track.cs
- glyphs.cs
- ListViewUpdatedEventArgs.cs
- FontDialog.cs
- MethodRental.cs
- ContextMenuStripGroup.cs
- TagPrefixAttribute.cs
- ListBindableAttribute.cs
- DbModificationCommandTree.cs
- TraceSource.cs
- FormViewModeEventArgs.cs
- ColumnHeader.cs
- LogLogRecordEnumerator.cs
- securitycriticaldata.cs
- MessageQueueException.cs
- Brush.cs
- XmlLangPropertyAttribute.cs
- BasicAsyncResult.cs
- FixedDocumentSequencePaginator.cs
- StylusTouchDevice.cs
- DbModificationClause.cs
- StatusBarItemAutomationPeer.cs
- StringExpressionSet.cs
- JournalEntryStack.cs
- Camera.cs
- OdbcUtils.cs
- ServicePointManagerElement.cs
- HostVisual.cs
- SqlConnection.cs
- HttpPostedFile.cs
- AssemblySettingAttributes.cs
- ProfileSettings.cs
- TripleDESCryptoServiceProvider.cs
- SqlClientWrapperSmiStream.cs
- DesignerUtility.cs
- PassportAuthenticationEventArgs.cs
- BrowserCapabilitiesFactory35.cs
- CatalogZoneBase.cs
- RequestCachePolicy.cs
- StructureChangedEventArgs.cs
- XamlTypeMapper.cs
- TextElementEnumerator.cs
- LoginCancelEventArgs.cs
- RegexCapture.cs
- BatchWriter.cs
- StringReader.cs
- BinHexDecoder.cs
- TriState.cs
- ListBindableAttribute.cs
- ResourceDisplayNameAttribute.cs
- ChannelManager.cs
- WebPartCatalogAddVerb.cs
- ObfuscationAttribute.cs
- SendMessageChannelCache.cs
- QueryOutputWriter.cs
- PrintPreviewControl.cs
- DataGridViewCellValueEventArgs.cs
- DeadLetterQueue.cs
- RoutingSection.cs
- BlurBitmapEffect.cs
- SpeechSynthesizer.cs
- CustomSignedXml.cs
- HighContrastHelper.cs
- MsmqQueue.cs
- ITreeGenerator.cs
- BookmarkManager.cs
- CodeMemberEvent.cs
- WebPartTransformerAttribute.cs
- MetadataCacheItem.cs
- FreezableOperations.cs
- SynchronizedDispatch.cs
- IsolatedStorageFileStream.cs
- UInt32Storage.cs
- LinearGradientBrush.cs
- GridSplitter.cs
- Icon.cs
- Model3DGroup.cs
- ReadOnlyTernaryTree.cs
- QuestionEventArgs.cs
- TimeZoneNotFoundException.cs
- XmlSchemaAnnotation.cs
- SatelliteContractVersionAttribute.cs
- InputReport.cs
- IntMinMaxAggregationOperator.cs
- LambdaCompiler.cs
- DBParameter.cs
- ActivityValidator.cs
- Emitter.cs
- Substitution.cs
- XmlSchemaSimpleType.cs