DiscoveryExceptionDictionary Class

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 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:
© 2016 Microsoft