DiscoveryExceptionDictionary Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Collects exceptions that occurred during XML Web services discovery. This class cannot be inherited.
public ref class DiscoveryExceptionDictionary sealed : System::Collections::DictionaryBase
public sealed class DiscoveryExceptionDictionary : System.Collections.DictionaryBase
type DiscoveryExceptionDictionary = class
inherit DictionaryBase
Public NotInheritable Class DiscoveryExceptionDictionary
Inherits DictionaryBase
- Inheritance
Examples
#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 ))
{
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 ) )
{
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());
}
}
}
}
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());
}
}
}
}
}
Imports System.Web.Services.Discovery
Imports System.Xml
Imports System.Collections
Imports System.Runtime.Remoting
Imports System.Net
Public Class MySample
Shared Sub Main()
Dim myDiscoFile As String = "http://localhost/MathService_vb.disco"
Dim myUrlKey As String = "http://localhost/MathService_vb.asmx?wsdl"
Dim myDiscoveryClientProtocol1 As New DiscoveryClientProtocol()
Dim myDiscoveryDocument As DiscoveryDocument = myDiscoveryClientProtocol1.Discover(myDiscoFile)
Dim myEnumerator As IEnumerator = myDiscoveryDocument.References.GetEnumerator()
While myEnumerator.MoveNext()
Dim myContractReference As ContractReference = CType(myEnumerator.Current, ContractReference)
Dim myDiscoveryClientProtocol2 As DiscoveryClientProtocol = myContractReference.ClientProtocol
myDiscoveryClientProtocol2.ResolveAll()
Dim myExceptionDictionary As DiscoveryExceptionDictionary = myDiscoveryClientProtocol2.Errors
If myExceptionDictionary.Contains(myUrlKey) = True Then
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 + "'")
End If
If myExceptionDictionary.Contains(myUrlKey) = True Then
Console.WriteLine("System generated exceptions.")
Dim myException As Exception = 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)
Dim myNewExceptionDictionary As New DiscoveryExceptionDictionary()
' Add an exception with the custom error message.
Dim myNewException As New Exception("The requested service is not available.")
myNewExceptionDictionary.Add(myUrlKey, myNewException)
myExceptionDictionary = myNewExceptionDictionary
Console.WriteLine("Added exceptions.")
Dim myArray(myExceptionDictionary.Count -1 ) As Object
myExceptionDictionary.Keys.CopyTo(CType(myArray, Array), 0)
Console.WriteLine(" Keys are :")
Dim myObj As Object
For Each myObj In myArray
Console.WriteLine(" " + myObj.ToString())
Next myObj
Console.WriteLine()
Dim myCollectionArray(myExceptionDictionary.Count -1 ) As Object
myExceptionDictionary.Values.CopyTo(CType(myCollectionArray, Array), 0)
Console.WriteLine(" Values are :")
For Each myObj In myCollectionArray
Console.WriteLine(" " + myObj.ToString())
Next myObj
End If
End While
End Sub
End Class
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 |
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. |