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
- Наследование
Примеры
#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) |
Добавляет Exception с ключом |
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) |
Удаляет Exception с указанным URL-адресом из DiscoveryExceptionDictionary. |
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) |
Методы расширения
Cast<TResult>(IEnumerable) |
Приводит элементы объекта IEnumerable к заданному типу. |
OfType<TResult>(IEnumerable) |
Выполняет фильтрацию элементов объекта IEnumerable по заданному типу. |
AsParallel(IEnumerable) |
Позволяет осуществлять параллельный запрос. |
AsQueryable(IEnumerable) |
Преобразовывает коллекцию IEnumerable в объект IQueryable. |