DiscoveryExceptionDictionary Class
.NET Framework 4.5
Collects exceptions that occurred during XML Web services discovery. This class cannot be inherited.
System.Object
System.Collections.DictionaryBase
System.Web.Services.Discovery.DiscoveryExceptionDictionary
System.Collections.DictionaryBase
System.Web.Services.Discovery.DiscoveryExceptionDictionary
Namespace: System.Web.Services.Discovery
Assembly: System.Web.Services (in System.Web.Services.dll)
The DiscoveryExceptionDictionary type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | DiscoveryExceptionDictionary | Initializes a new instance of the DiscoveryExceptionDictionary class. |
| Name | Description | |
|---|---|---|
![]() | Count | Gets the number of elements contained in the DictionaryBase instance. (Inherited from DictionaryBase.) |
![]() | Item | Gets or sets the Exception that occurred while discovering the specified URL from the DiscoveryExceptionDictionary. |
![]() | Keys | Gets a System.Collections.ICollection object with all the keys in the DiscoveryExceptionDictionary. |
![]() | Values | Gets a System.Collections.ICollection object containing all the values in the DiscoveryExceptionDictionary. |
| Name | Description | |
|---|---|---|
![]() | Add | Adds an Exception with a key of url to the DiscoveryExceptionDictionary. |
![]() | Clear | Clears the contents of the DictionaryBase instance. (Inherited from DictionaryBase.) |
![]() | Contains | Determines whether the DiscoveryExceptionDictionary contains an Exception with the specified URL. |
![]() | CopyTo | 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 a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | Remove | Removes an Exception with the specified URL from the DiscoveryExceptionDictionary. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | 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 | Adds an element with the specified key and value into the DictionaryBase. (Inherited from DictionaryBase.) |
![]() ![]() | IDictionary.Contains | 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 | 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 | 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.) |
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()); } } } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

