DiscoveryExceptionDictionary Class

Definition

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

C#
public sealed class DiscoveryExceptionDictionary : System.Collections.DictionaryBase
Inheritance
DiscoveryExceptionDictionary

Examples

C#
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))
         {
            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))
         {
            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());
            }
         }
      }
   }
}

Remarks

The Errors property of DiscoveryClientProtocol is of type DiscoveryExceptionDictionary.

Constructors

DiscoveryExceptionDictionary()

Initializes a new instance of the DiscoveryExceptionDictionary class.

Properties

Count

Gets the number of elements contained in the DictionaryBase instance.

(Inherited from DictionaryBase)
Dictionary

Gets the list of elements contained in the DictionaryBase instance.

(Inherited from DictionaryBase)
InnerHashtable

Gets the list of elements contained in the DictionaryBase instance.

(Inherited from DictionaryBase)
Item[String]

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

Keys

Gets a ICollection object with all the keys in the DiscoveryExceptionDictionary.

Values

Gets a ICollection object containing all the values in the DiscoveryExceptionDictionary.

Methods

Add(String, Exception)

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

Clear()

Clears the contents of the DictionaryBase instance.

(Inherited from DictionaryBase)
Contains(String)

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

CopyTo(Array, Int32)

Copies the DictionaryBase elements to a one-dimensional Array at the specified index.

(Inherited from DictionaryBase)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator()

Returns an IDictionaryEnumerator that iterates through the DictionaryBase instance.

(Inherited from DictionaryBase)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
OnClear()

Performs additional custom processes before clearing the contents of the DictionaryBase instance.

(Inherited from DictionaryBase)
OnClearComplete()

Performs additional custom processes after clearing the contents of the DictionaryBase instance.

(Inherited from DictionaryBase)
OnGet(Object, Object)

Gets the element with the specified key and value in the DictionaryBase instance.

(Inherited from DictionaryBase)
OnInsert(Object, Object)

Performs additional custom processes before inserting a new element into the DictionaryBase instance.

(Inherited from DictionaryBase)
OnInsertComplete(Object, Object)

Performs additional custom processes after inserting a new element into the DictionaryBase instance.

(Inherited from DictionaryBase)
OnRemove(Object, Object)

Performs additional custom processes before removing an element from the DictionaryBase instance.

(Inherited from DictionaryBase)
OnRemoveComplete(Object, Object)

Performs additional custom processes after removing an element from the DictionaryBase instance.

(Inherited from DictionaryBase)
OnSet(Object, Object, Object)

Performs additional custom processes before setting a value in the DictionaryBase instance.

(Inherited from DictionaryBase)
OnSetComplete(Object, Object, Object)

Performs additional custom processes after setting a value in the DictionaryBase instance.

(Inherited from DictionaryBase)
OnValidate(Object, Object)

Performs additional custom processes when validating the element with the specified key and value.

(Inherited from DictionaryBase)
Remove(String)

Removes an Exception with the specified URL from the DiscoveryExceptionDictionary.

ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

ICollection.IsSynchronized

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

(Inherited from DictionaryBase)
ICollection.SyncRoot

Gets an object that can be used to synchronize access to a DictionaryBase object.

(Inherited from DictionaryBase)
IDictionary.Add(Object, Object)

Adds an element with the specified key and value into the DictionaryBase.

(Inherited from DictionaryBase)
IDictionary.Contains(Object)

Determines whether the DictionaryBase contains a specific key.

(Inherited from DictionaryBase)
IDictionary.IsFixedSize

Gets a value indicating whether a DictionaryBase object has a fixed size.

(Inherited from DictionaryBase)
IDictionary.IsReadOnly

Gets a value indicating whether a DictionaryBase object is read-only.

(Inherited from DictionaryBase)
IDictionary.Item[Object]

Gets or sets the value associated with the specified key.

(Inherited from DictionaryBase)
IDictionary.Keys

Gets an ICollection object containing the keys in the DictionaryBase object.

(Inherited from DictionaryBase)
IDictionary.Remove(Object)

Removes the element with the specified key from the DictionaryBase.

(Inherited from DictionaryBase)
IDictionary.Values

Gets an ICollection object containing the values in the DictionaryBase object.

(Inherited from DictionaryBase)
IEnumerable.GetEnumerator()

Returns an IEnumerator that iterates through the DictionaryBase.

(Inherited from DictionaryBase)

Extension Methods

Cast<TResult>(IEnumerable)

Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Enables parallelization of a query.

AsQueryable(IEnumerable)

Converts an IEnumerable to an IQueryable.

Applies to

Product Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

See also