Condividi tramite


DiscoveryExceptionDictionary Classe

Definizione

Raccoglie le eccezioni generate durante l'individuazione dei servizi Web XML. La classe non può essere ereditata.

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
Ereditarietà
DiscoveryExceptionDictionary

Esempio

#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

Commenti

La Errors proprietà di DiscoveryClientProtocol è di tipo DiscoveryExceptionDictionary.

Costruttori

DiscoveryExceptionDictionary()

Inizializza una nuova istanza della classe DiscoveryExceptionDictionary.

Proprietà

Count

Ottiene il numero di elementi contenuti nell'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
Dictionary

Ottiene l'elenco degli elementi contenuti nell'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
InnerHashtable

Ottiene l'elenco degli elementi contenuti nell'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
Item[String]

Ottiene o imposta l'oggetto Exception generato durante l'individuazione dell'URL specificato dall'oggetto DiscoveryExceptionDictionary.

Keys

Ottiene un oggetto ICollection con tutte le chiavi presenti in DiscoveryExceptionDictionary.

Values

Ottiene un oggetto ICollection contenente tutti i valori presenti in DiscoveryExceptionDictionary.

Metodi

Add(String, Exception)

Aggiunge un oggetto Exception con una chiave di url a DiscoveryExceptionDictionary.

Clear()

Cancella il contenuto dell'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
Contains(String)

Determina se DiscoveryExceptionDictionary contiene un oggetto Exception con l'URL specificato.

CopyTo(Array, Int32)

Copia gli elementi di DictionaryBase in una matrice Array unidimensionale in corrispondenza dell'indice specificato.

(Ereditato da DictionaryBase)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un oggetto IDictionaryEnumerator che consente di scorrere l'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnClear()

Esegue procedure personalizzate aggiuntive prima di cancellare il contenuto dell'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
OnClearComplete()

Esegue procedure personalizzate aggiuntive prima di cancellare il contenuto dell'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
OnGet(Object, Object)

Ottiene l'elemento con la chiave e il valore specificati nell'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
OnInsert(Object, Object)

Esegue procedure personalizzate aggiuntive prima di inserire un nuovo elemento nell'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
OnInsertComplete(Object, Object)

Esegue procedure personalizzate aggiuntive dopo aver inserito un nuovo elemento nell'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
OnRemove(Object, Object)

Esegue procedure personalizzate aggiuntive prima della rimozione di un elemento dall'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
OnRemoveComplete(Object, Object)

Esegue procedure personalizzate aggiuntive dopo della rimozione di un elemento dall'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
OnSet(Object, Object, Object)

Esegue procedure personalizzate aggiuntive prima di impostare un valore nell'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
OnSetComplete(Object, Object, Object)

Esegue procedure personalizzate aggiuntive dopo aver impostato un valore nell'istanza di DictionaryBase.

(Ereditato da DictionaryBase)
OnValidate(Object, Object)

Esegue procedure personalizzate aggiuntive durante la convalida dell'elemento con la chiave e il valore specificati.

(Ereditato da DictionaryBase)
Remove(String)

Rimuove un oggetto Exception con l'URL specificato da DiscoveryExceptionDictionary.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso a un oggetto DictionaryBase è sincronizzato (thread-safe).

(Ereditato da DictionaryBase)
ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso all'oggetto DictionaryBase.

(Ereditato da DictionaryBase)
IDictionary.Add(Object, Object)

Aggiunge un elemento con la chiave e il valore specificati al metodo DictionaryBase.

(Ereditato da DictionaryBase)
IDictionary.Contains(Object)

Determina se l'oggetto DictionaryBase contiene una chiave specifica.

(Ereditato da DictionaryBase)
IDictionary.IsFixedSize

Ottiene un valore che indica se le dimensioni di un oggetto DictionaryBase sono fisse.

(Ereditato da DictionaryBase)
IDictionary.IsReadOnly

Ottiene un valore che indica se un oggetto DictionaryBase è di sola lettura.

(Ereditato da DictionaryBase)
IDictionary.Item[Object]

Ottiene o imposta il valore associato alla chiave specificata.

(Ereditato da DictionaryBase)
IDictionary.Keys

Ottiene un oggetto ICollection contenente le chiavi dell'oggetto DictionaryBase.

(Ereditato da DictionaryBase)
IDictionary.Remove(Object)

Rimuove l'elemento con la chiave specificata da DictionaryBase.

(Ereditato da DictionaryBase)
IDictionary.Values

Ottiene un oggetto ICollection contenente i valori dell'oggetto DictionaryBase.

(Ereditato da DictionaryBase)
IEnumerable.GetEnumerator()

Restituisce un oggetto IEnumerator che esegue l'iterazione di DictionaryBase.

(Ereditato da DictionaryBase)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche