DiscoveryExceptionDictionary Класс

Определение

Собирает исключения, возникшие во время обнаружения веб-служб XML.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
Наследование
DiscoveryExceptionDictionary

Примеры

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

Комментарии

Свойство объекта DiscoveryClientProtocol имеет типDiscoveryExceptionDictionary. ErrorsThe Errors property of DiscoveryClientProtocol is of type DiscoveryExceptionDictionary.

Конструкторы

DiscoveryExceptionDictionary()

Инициализирует новый экземпляр класса DiscoveryExceptionDictionary.Initializes a new instance of the DiscoveryExceptionDictionary class.

Свойства

Count

Получает число элементов, содержащихся в экземпляре класса DictionaryBase.Gets the number of elements contained in the DictionaryBase instance.

(Унаследовано от DictionaryBase)
Dictionary

Получает список элементов, содержащихся в экземпляре DictionaryBase.Gets the list of elements contained in the DictionaryBase instance.

(Унаследовано от DictionaryBase)
InnerHashtable

Получает список элементов, содержащихся в экземпляре DictionaryBase.Gets the list of elements contained in the DictionaryBase instance.

(Унаследовано от DictionaryBase)
Item[String]

Возвращает или задает исключение класса Exception, происходящее при обнаружении указанного URL-адреса из DiscoveryExceptionDictionary.Gets or sets the Exception that occurred while discovering the specified URL from the DiscoveryExceptionDictionary.

Keys

Получает объект ICollection со всеми ключами в DiscoveryExceptionDictionary.Gets a ICollection object with all the keys in the DiscoveryExceptionDictionary.

Values

Получает объект ICollection, содержащий все значения в DiscoveryExceptionDictionary.Gets a ICollection object containing all the values in the DiscoveryExceptionDictionary.

Методы

Add(String, Exception)

Добавляет Exception с ключом url к DiscoveryExceptionDictionary.Adds an Exception with a key of url to the DiscoveryExceptionDictionary.

Clear()

Удаляет содержимое экземпляра DictionaryBase.Clears the contents of the DictionaryBase instance.

(Унаследовано от DictionaryBase)
Contains(String)

Определяет, содержит ли DiscoveryExceptionDictionary класс Exception с указанным URL-адресом.Determines whether the DiscoveryExceptionDictionary contains an Exception with the specified URL.

CopyTo(Array, Int32)

Копирует элементы класса DictionaryBase в одномерный массив класса Array с указанного индекса.Copies the DictionaryBase elements to a one-dimensional Array at the specified index.

(Унаследовано от DictionaryBase)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetEnumerator()

Возвращает перечислитель IDictionaryEnumerator, осуществляющий перебор элементов экземпляра класса DictionaryBase.Returns an IDictionaryEnumerator that iterates through the DictionaryBase instance.

(Унаследовано от DictionaryBase)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
OnClear()

Осуществляет дополнительные пользовательские действия перед удалением содержимого экземпляра класса DictionaryBase.Performs additional custom processes before clearing the contents of the DictionaryBase instance.

(Унаследовано от DictionaryBase)
OnClearComplete()

Осуществляет дополнительные пользовательские действия после удаления содержимого экземпляра класса DictionaryBase.Performs additional custom processes after clearing the contents of the DictionaryBase instance.

(Унаследовано от DictionaryBase)
OnGet(Object, Object)

Получает элемент с указанными ключом и значением из экземпляра класса DictionaryBase.Gets the element with the specified key and value in the DictionaryBase instance.

(Унаследовано от DictionaryBase)
OnInsert(Object, Object)

Выполняет дополнительные пользовательские действия перед вставкой нового элемента в экземпляр класса DictionaryBase.Performs additional custom processes before inserting a new element into the DictionaryBase instance.

(Унаследовано от DictionaryBase)
OnInsertComplete(Object, Object)

Выполняет дополнительные пользовательские действия после вставки нового элемента в экземпляр класса DictionaryBase.Performs additional custom processes after inserting a new element into the DictionaryBase instance.

(Унаследовано от DictionaryBase)
OnRemove(Object, Object)

Осуществляет дополнительные пользовательские действия перед удалением элемента из экземпляра класса DictionaryBase.Performs additional custom processes before removing an element from the DictionaryBase instance.

(Унаследовано от DictionaryBase)
OnRemoveComplete(Object, Object)

Осуществляет дополнительные пользовательские действия после удаления элемента из экземпляра класса DictionaryBase.Performs additional custom processes after removing an element from the DictionaryBase instance.

(Унаследовано от DictionaryBase)
OnSet(Object, Object, Object)

Выполняет дополнительные пользовательские действия перед заданием значения в экземпляре класса DictionaryBase.Performs additional custom processes before setting a value in the DictionaryBase instance.

(Унаследовано от DictionaryBase)
OnSetComplete(Object, Object, Object)

Выполняет дополнительные пользовательские действия после задания значения в экземпляре класса DictionaryBase.Performs additional custom processes after setting a value in the DictionaryBase instance.

(Унаследовано от DictionaryBase)
OnValidate(Object, Object)

Выполняет дополнительные пользовательские операции при проверке элемента с указанными ключом и значением.Performs additional custom processes when validating the element with the specified key and value.

(Унаследовано от DictionaryBase)
Remove(String)

Удаляет Exception с указанным URL-адресом из DiscoveryExceptionDictionary.Removes an Exception with the specified URL from the DiscoveryExceptionDictionary.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Явные реализации интерфейса

ICollection.IsSynchronized

Возвращает значение, указывающее на то, является ли доступ к объекту DictionaryBase синхронизированным (потокобезопасным).Gets a value indicating whether access to a DictionaryBase object is synchronized (thread safe).

(Унаследовано от DictionaryBase)
ICollection.SyncRoot

Получает объект, который позволяет синхронизировать доступ к объекту DictionaryBase.Gets an object that can be used to synchronize access to a DictionaryBase object.

(Унаследовано от DictionaryBase)
IDictionary.Add(Object, Object)

Добавляет элемент с указанными ключом и значением в словарь DictionaryBase.Adds an element with the specified key and value into the DictionaryBase.

(Унаследовано от DictionaryBase)
IDictionary.Contains(Object)

Определяет, содержит ли объект DictionaryBase указанный ключ.Determines whether the DictionaryBase contains a specific key.

(Унаследовано от DictionaryBase)
IDictionary.IsFixedSize

Получает значение, показывающее, имеет ли объект DictionaryBase фиксированный размер.Gets a value indicating whether a DictionaryBase object has a fixed size.

(Унаследовано от DictionaryBase)
IDictionary.IsReadOnly

Возвращает значение, указывающее, является ли объект DictionaryBase доступным только для чтения.Gets a value indicating whether a DictionaryBase object is read-only.

(Унаследовано от DictionaryBase)
IDictionary.Item[Object]

Получает или задает значение, связанное с указанным ключом.Gets or sets the value associated with the specified key.

(Унаследовано от DictionaryBase)
IDictionary.Keys

Получает объект ICollection, содержащий ключи из объекта DictionaryBase.Gets an ICollection object containing the keys in the DictionaryBase object.

(Унаследовано от DictionaryBase)
IDictionary.Remove(Object)

Удаляет элемент с указанным ключом из объекта DictionaryBase.Removes the element with the specified key from the DictionaryBase.

(Унаследовано от DictionaryBase)
IDictionary.Values

Получает объект ICollection, содержащий значения из объекта DictionaryBase.Gets an ICollection object containing the values in the DictionaryBase object.

(Унаследовано от DictionaryBase)
IEnumerable.GetEnumerator()

Возвращает объект IEnumerator, осуществляющий перебор DictionaryBase.Returns an IEnumerator that iterates through the DictionaryBase.

(Унаследовано от DictionaryBase)

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

Применяется к

Дополнительно