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: