DiscoveryExceptionDictionary Class

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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 sealed class DiscoveryExceptionDictionary : 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;
using System.Web.Services.Discovery;
using System.Xml;
using System.Collections;
using System.Runtime.Remoting;
using System.Net;

public class MySample
{
   static void Main()
   {
      string myDiscoFile = "http://localhost/MathService_cs.disco";
      string myUrlKey = "http://localhost/MathService_cs.asmx?wsdl";
      DiscoveryClientProtocol myDiscoveryClientProtocol1 = 
                                            new DiscoveryClientProtocol();
      DiscoveryDocument myDiscoveryDocument = 
                         myDiscoveryClientProtocol1.Discover(myDiscoFile);
      IEnumerator myEnumerator = 
                           myDiscoveryDocument.References.GetEnumerator();
      while ( myEnumerator.MoveNext() )
      {
         ContractReference myContractReference =
                                  (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 '" + myUrlKey + "'");
         }
         else
         {
            Console.WriteLine("'myExceptionDictionary' does not contain" +
                      " a discovery exception for the key '" + myUrlKey + "'");
         }
         if (myExceptionDictionary.Contains(myUrlKey) == true )
         {
            Console.WriteLine("System generated exceptions.");

            Exception myException = myExceptionDictionary[myUrlKey];
            Console.WriteLine(" Source : " + myException.Source);
            Console.WriteLine(" Exception : " + myException.Message);

            Console.WriteLine();

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

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

            Console.WriteLine("Added exceptions.");

            object[] myArray = new object[myExceptionDictionary.Count];
            myExceptionDictionary.Keys.CopyTo((Array)myArray,0);
            Console.WriteLine(" Keys are :");
            foreach(object myObj in myArray)
            {
               Console.WriteLine(" " + myObj.ToString());
            }

            Console.WriteLine();

            object[] myCollectionArray = new object[myExceptionDictionary.Count];
            myExceptionDictionary.Values.CopyTo((Array)myCollectionArray,0);
            Console.WriteLine(" Values are :");
            foreach(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: