Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

DiscoveryExceptionDictionary Class

 

Collects exceptions that occurred during XML Web services discovery. This class cannot be inherited.

Namespace:   System.Web.Services.Discovery
Assembly:  System.Web.Services (in System.Web.Services.dll)

System::Object
  System.Collections::DictionaryBase
    System.Web.Services.Discovery::DiscoveryExceptionDictionary

public ref class DiscoveryExceptionDictionary sealed : DictionaryBase

NameDescription
System_CAPS_pubmethodDiscoveryExceptionDictionary()

Initializes a new instance of the DiscoveryExceptionDictionary class.

NameDescription
System_CAPS_pubpropertyCount

Gets the number of elements contained in the DictionaryBase instance.(Inherited from DictionaryBase.)

System_CAPS_pubpropertyItem[String^]

Gets or sets the Exception that occurred while discovering the specified URL from the DiscoveryExceptionDictionary.

System_CAPS_pubpropertyKeys

Gets a System.Collections::ICollection object with all the keys in the DiscoveryExceptionDictionary.

System_CAPS_pubpropertyValues

Gets a System.Collections::ICollection object containing all the values in the DiscoveryExceptionDictionary.

NameDescription
System_CAPS_pubmethodAdd(String^, Exception^)

Adds an Exception with a key of url to the DiscoveryExceptionDictionary.

System_CAPS_pubmethodClear()

Clears the contents of the DictionaryBase instance.(Inherited from DictionaryBase.)

System_CAPS_pubmethodContains(String^)

Determines whether the DiscoveryExceptionDictionary contains an Exception with the specified URL.

System_CAPS_pubmethodCopyTo(Array^, Int32)

Copies the DictionaryBase elements to a one-dimensional Array at the specified index.(Inherited from DictionaryBase.)

System_CAPS_pubmethodEquals(Object^)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetEnumerator()

Returns an IDictionaryEnumerator that iterates through the DictionaryBase instance.(Inherited from DictionaryBase.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodRemove(String^)

Removes an Exception with the specified URL from the DiscoveryExceptionDictionary.

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDictionary::Add(Object^, Object^)

Adds an element with the specified key and value into the DictionaryBase.(Inherited from DictionaryBase.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDictionary::Contains(Object^)

Determines whether the DictionaryBase contains a specific key.(Inherited from DictionaryBase.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDictionary::Remove(Object^)

Removes the element with the specified key from the DictionaryBase.(Inherited from DictionaryBase.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable::GetEnumerator()

Returns an IEnumerator that iterates through the DictionaryBase.(Inherited from DictionaryBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection::IsSynchronized

Gets a value indicating whether access to a DictionaryBase object is synchronized (thread safe).(Inherited from DictionaryBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection::SyncRoot

Gets an object that can be used to synchronize access to a DictionaryBase object.(Inherited from DictionaryBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIDictionary::IsFixedSize

Gets a value indicating whether a DictionaryBase object has a fixed size.(Inherited from DictionaryBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIDictionary::IsReadOnly

Gets a value indicating whether a DictionaryBase object is read-only.(Inherited from DictionaryBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIDictionary::Item[Object^]

Gets or sets the value associated with the specified key.(Inherited from DictionaryBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIDictionary::Keys

Gets an ICollection object containing the keys in the DictionaryBase object.(Inherited from DictionaryBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIDictionary::Values

Gets an ICollection object containing the values in the DictionaryBase object.(Inherited from DictionaryBase.)

NameDescription
System_CAPS_pubmethodAsParallel()

Overloaded. Enables parallelization of a query.(Defined by ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Overloaded. Converts an IEnumerable to an IQueryable.(Defined by Queryable.)

System_CAPS_pubmethodCast<TResult>()

Casts the elements of an IEnumerable to the specified type.(Defined by Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filters the elements of an IEnumerable based on a specified type.(Defined by Enumerable.)

The Errors property of DiscoveryClientProtocol is of type DiscoveryExceptionDictionary.

#using <System.Xml.dll>
#using <System.Web.Services.dll>
#using <System.dll>

using namespace System;
using namespace System::Web::Services::Discovery;
using namespace System::Xml;
using namespace System::Collections;
using namespace System::Runtime::Remoting;
using namespace System::Net;

int main()
{
   String^ myDiscoFile = "http://localhost/MathService_cs.disco";
   String^ myUrlKey = "http://localhost/MathService_cs.asmx?wsdl";
   DiscoveryClientProtocol^ myDiscoveryClientProtocol1 = gcnew DiscoveryClientProtocol;
   DiscoveryDocument^ myDiscoveryDocument = myDiscoveryClientProtocol1->Discover( myDiscoFile );
   IEnumerator^ myEnumerator = myDiscoveryDocument->References->GetEnumerator();
   while ( myEnumerator->MoveNext() )
   {
      ContractReference^ myContractReference = dynamic_cast<ContractReference^>(myEnumerator->Current);
      DiscoveryClientProtocol^ myDiscoveryClientProtocol2 = myContractReference->ClientProtocol;
      myDiscoveryClientProtocol2->ResolveAll();

      DiscoveryExceptionDictionary^ myExceptionDictionary = myDiscoveryClientProtocol2->Errors;
      if ( myExceptionDictionary->Contains( myUrlKey ) == true )
      {
         Console::WriteLine( "'myExceptionDictionary' contains a discovery exception for the key '{0}'", myUrlKey );
      }
      else
      {
         Console::WriteLine( "'myExceptionDictionary' does not contain a discovery exception for the key '{0}'", myUrlKey );
      }
      if ( myExceptionDictionary->Contains( myUrlKey ) == true )
      {
         Console::WriteLine( "System generated exceptions." );

         Exception^ myException = myExceptionDictionary[ myUrlKey ];
         Console::WriteLine( " Source : {0}", myException->Source );
         Console::WriteLine( " Exception : {0}", myException->Message );

         Console::WriteLine();

         // Remove the discovery exception.for the key 'myUrlKey'.
         myExceptionDictionary->Remove( myUrlKey );

         DiscoveryExceptionDictionary^ myNewExceptionDictionary = gcnew DiscoveryExceptionDictionary;

         // Add an exception with the custom error message.
         Exception^ myNewException = gcnew Exception( "The requested service is not available." );
         myNewExceptionDictionary->Add( myUrlKey, myNewException );
         myExceptionDictionary = myNewExceptionDictionary;

         Console::WriteLine( "Added exceptions." );

         array<Object^>^myArray = gcnew array<Object^>(myExceptionDictionary->Count);
         myExceptionDictionary->Keys->CopyTo( (Array^)myArray, 0 );
         Console::WriteLine( " Keys are :" );

         for each(Object^ myObj in myArray)
         {
            Console::WriteLine(" " + myObj->ToString());
         }

         Console::WriteLine();

         array<Object^>^myCollectionArray = gcnew array<Object^>(myExceptionDictionary->Count);
         myExceptionDictionary->Values->CopyTo( (Array^)myCollectionArray, 0 );
         Console::WriteLine( " Values are :" );
         for each(Object^ myObj in myCollectionArray)
         {
            Console::WriteLine(" " + myObj->ToString());
         }
      }
   }
}

.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2017 Microsoft