Бөлісу құралы:


DiscoveryExceptionDictionary Класс

Определение

Собирает исключения, возникшие во время обнаружения веб-служб XML. Этот класс не может быть унаследован.

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 ))
      {
         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

Комментарии

Errors Свойство DiscoveryClientProtocol типаDiscoveryExceptionDictionary.

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

Имя Описание
DiscoveryExceptionDictionary()

Инициализирует новый экземпляр класса DiscoveryExceptionDictionary.

Свойства

Имя Описание
Count

Возвращает количество элементов, содержащихся в экземпляре DictionaryBase .

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

Возвращает список элементов, содержащихся в экземпляре DictionaryBase .

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

Возвращает список элементов, содержащихся в экземпляре DictionaryBase .

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

Получает или задаетException, что произошло при обнаружении указанного URL-адреса из .DiscoveryExceptionDictionary

Keys

ICollection Возвращает объект со всеми ключами в объектеDiscoveryExceptionDictionary.

Values

ICollection Возвращает объект, содержащий все значения в объектеDiscoveryExceptionDictionary.

Методы

Имя Описание
Add(String, Exception)

Добавляет ключ Exceptionurl к элементу DiscoveryExceptionDictionary.

Clear()

Очищает содержимое экземпляра DictionaryBase.

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

Определяет, содержит ли DiscoveryExceptionDictionary он указанный Exception URL-адрес.

CopyTo(Array, Int32)

Копирует элементы в DictionaryBase одномерный Array по указанному индексу.

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

Определяет, равен ли указанный объект текущему объекту.

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

Возвращает итерацию IDictionaryEnumerator экземпляра DictionaryBase .

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

Служит хэш-функцией по умолчанию.

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

Возвращает Type текущего экземпляра.

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

Создает неглубокую копию текущей Object.

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

Выполняет дополнительные пользовательские процессы перед очисткой содержимого экземпляра DictionaryBase .

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

Выполняет дополнительные пользовательские процессы после очистки содержимого экземпляра DictionaryBase .

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

Возвращает элемент с указанным ключом и значением в экземпляре DictionaryBase .

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

Выполняет дополнительные пользовательские процессы перед вставкой нового элемента в DictionaryBase экземпляр.

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

Выполняет дополнительные пользовательские процессы после вставки нового элемента в DictionaryBase экземпляр.

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

Выполняет дополнительные пользовательские процессы перед удалением элемента из экземпляра DictionaryBase .

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

Выполняет дополнительные пользовательские процессы после удаления элемента из экземпляра DictionaryBase .

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

Выполняет дополнительные пользовательские процессы перед заданием значения в экземпляре DictionaryBase .

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

Выполняет дополнительные пользовательские процессы после задания значения в экземпляре DictionaryBase .

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

Выполняет дополнительные пользовательские процессы при проверке элемента с указанным ключом и значением.

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

Удаляет из него DiscoveryExceptionDictionaryуказанный Exception URL-адрес.

ToString()

Возвращает строку, представляющую текущий объект.

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

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

Имя Описание
ICollection.IsSynchronized

Возвращает значение, указывающее, синхронизирован ли доступ к объекту DictionaryBase (потокобезопасный).

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

Получает объект, который можно использовать для синхронизации доступа к объекту DictionaryBase .

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

Добавляет элемент с указанным ключом и значением в элемент DictionaryBase.

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

Определяет, содержит ли DictionaryBase определенный ключ.

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

Возвращает значение, указывающее, имеет ли DictionaryBase объект фиксированный размер.

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

Возвращает значение, указывающее, доступен ли DictionaryBase объект только для чтения.

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

Возвращает или задает значение, связанное с указанным ключом.

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

ICollection Возвращает объект, содержащий ключи в объектеDictionaryBase.

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

Удаляет элемент с указанным ключом из элемента DictionaryBase.

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

ICollection Возвращает объект, содержащий значения в объектеDictionaryBase.

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

Возвращает значение IEnumerator , которое выполняет итерацию через DictionaryBase.

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

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

Имя Описание
AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

Cast<TResult>(IEnumerable)

Приведение элементов IEnumerable к указанному типу.

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

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

См. также раздел