次の方法で共有


DiscoveryExceptionDictionary クラス

定義

XML Web サービス探索中に発生した例外を収集します。 このクラスは継承できません。

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

注釈

ErrorsDiscoveryClientProtocol プロパティは 型です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)

url のキーを使用して、ExceptionDiscoveryExceptionDictionary に追加します。

Clear()

DictionaryBase インスタンスの内容を消去します。

(継承元 DictionaryBase)
Contains(String)

指定した URL の DiscoveryExceptionDictionaryException に格納されているかどうかを確認します。

CopyTo(Array, Int32)

1 次元の 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)

指定した URL を持つ ExceptionDiscoveryExceptionDictionary から削除します。

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

DictionaryBase を反復処理する IEnumerator を返します。

(継承元 DictionaryBase)

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。

AsParallel(IEnumerable)

クエリの並列化を有効にします。

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。

適用対象

こちらもご覧ください