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
- WebScriptEndpointElement.cs
- DataGridViewColumn.cs
- PointLight.cs
- OutputScopeManager.cs
- Converter.cs
- ControlEvent.cs
- Model3D.cs
- TraceContextRecord.cs
- DictionarySectionHandler.cs
- BuildProvidersCompiler.cs
- SignHashRequest.cs
- _ProxyChain.cs
- ReachDocumentPageSerializerAsync.cs
- DockAndAnchorLayout.cs
- RegexWorker.cs
- RoutedCommand.cs
- DragDrop.cs
- AdornedElementPlaceholder.cs
- OpenTypeLayout.cs
- HashHelper.cs
- SimpleTypesSurrogate.cs
- StorageMappingItemCollection.cs
- Proxy.cs
- BaseTemplateCodeDomTreeGenerator.cs
- JsonWriter.cs
- CmsInterop.cs
- RegexRunnerFactory.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- SchemaMerger.cs
- NamespaceEmitter.cs
- DataBindingExpressionBuilder.cs
- Message.cs
- Attribute.cs
- Events.cs
- GenericsInstances.cs
- RuleSetDialog.Designer.cs
- xamlnodes.cs
- HttpListenerContext.cs
- AlternateView.cs
- OleCmdHelper.cs
- HttpPostedFile.cs
- DrawingVisual.cs
- SoapCodeExporter.cs
- XmlWriterSettings.cs
- TextEmbeddedObject.cs
- ResourcePermissionBaseEntry.cs
- GridViewRowPresenterBase.cs
- ClassValidator.cs
- SchemaImporterExtension.cs
- DataGridPageChangedEventArgs.cs
- CompilationLock.cs
- SizeValueSerializer.cs
- ConfigXmlComment.cs
- TrustManagerPromptUI.cs
- AxHost.cs
- SecurityException.cs
- Overlapped.cs
- ReadContentAsBinaryHelper.cs
- NavigationFailedEventArgs.cs
- SortDescriptionCollection.cs
- _Semaphore.cs
- WindowVisualStateTracker.cs
- TabPage.cs
- WinCategoryAttribute.cs
- ValueExpressions.cs
- NumericPagerField.cs
- WasEndpointConfigContainer.cs
- FontConverter.cs
- TransformedBitmap.cs
- TableLayoutPanelCellPosition.cs
- NetworkInformationPermission.cs
- ProjectionCamera.cs
- AddInEnvironment.cs
- ToolStrip.cs
- DirectoryInfo.cs
- ResourceWriter.cs
- XmlLanguage.cs
- DelayDesigner.cs
- ExpressionBindingCollection.cs
- IsolatedStorage.cs
- HandleCollector.cs
- KoreanCalendar.cs
- XXXInfos.cs
- FormsAuthenticationCredentials.cs
- PopupRootAutomationPeer.cs
- QueryRewriter.cs
- Pen.cs
- SQLMoneyStorage.cs
- Optimizer.cs
- Setter.cs
- FormsAuthenticationEventArgs.cs
- ContainerFilterService.cs
- HandlerBase.cs
- HashSet.cs
- ContractHandle.cs
- EntityDataReader.cs
- ProcessModelInfo.cs
- LingerOption.cs
- SocketException.cs
- SQLInt32.cs