DiscoveryClientProtocol.Errors 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取在调用此类方法的过程中发生的异常的集合。
public:
property System::Web::Services::Discovery::DiscoveryExceptionDictionary ^ Errors { System::Web::Services::Discovery::DiscoveryExceptionDictionary ^ get(); };
public System.Web.Services.Discovery.DiscoveryExceptionDictionary Errors { get; }
member this.Errors : System.Web.Services.Discovery.DiscoveryExceptionDictionary
Public ReadOnly Property Errors As DiscoveryExceptionDictionary
属性值
异常的 DiscoveryExceptionDictionary。
示例
String^ myDiscoFile = "http://localhost/MathService_cs.vsdisco";
String^ myUrlKey = "http://localhost/MathService_cs.asmx?wsdl";
DiscoveryClientProtocol^ myDiscoveryClientProtocol = gcnew DiscoveryClientProtocol;
// Get the discovery document.
DiscoveryDocument^ myDiscoveryDocument = myDiscoveryClientProtocol->Discover( myDiscoFile );
IEnumerator^ myEnumerator = myDiscoveryDocument->References->GetEnumerator();
while ( myEnumerator->MoveNext() )
{
ContractReference^ myContractReference = dynamic_cast<ContractReference^>(myEnumerator->Current);
// Get the DiscoveryClientProtocol from the ContractReference.
myDiscoveryClientProtocol = myContractReference->ClientProtocol;
myDiscoveryClientProtocol->ResolveAll();
DiscoveryExceptionDictionary^ myExceptionDictionary = myDiscoveryClientProtocol->Errors;
if ( myExceptionDictionary->Contains( myUrlKey ) )
{
Console::WriteLine( "System generated exceptions." );
// Get the exception from the DiscoveryExceptionDictionary.
Exception^ myException = myExceptionDictionary[ myUrlKey ];
Console::WriteLine( " Source : {0}", myException->Source );
Console::WriteLine( " Exception : {0}", myException->Message );
}
}
}
string myDiscoFile = "http://localhost/MathService_cs.vsdisco";
string myUrlKey = "http://localhost/MathService_cs.asmx?wsdl";
DiscoveryClientProtocol myDiscoveryClientProtocol =
new DiscoveryClientProtocol();
// Get the discovery document.
DiscoveryDocument myDiscoveryDocument =
myDiscoveryClientProtocol.Discover(myDiscoFile);
IEnumerator myEnumerator =
myDiscoveryDocument.References.GetEnumerator();
while ( myEnumerator.MoveNext() )
{
ContractReference myContractReference =
(ContractReference)myEnumerator.Current;
// Get the DiscoveryClientProtocol from the ContractReference.
myDiscoveryClientProtocol = myContractReference.ClientProtocol;
myDiscoveryClientProtocol.ResolveAll();
DiscoveryExceptionDictionary myExceptionDictionary
= myDiscoveryClientProtocol.Errors;
if (myExceptionDictionary.Contains(myUrlKey))
{
Console.WriteLine("System generated exceptions.");
// Get the exception from the DiscoveryExceptionDictionary.
Exception myException = myExceptionDictionary[myUrlKey];
Console.WriteLine(" Source : " + myException.Source);
Console.WriteLine(" Exception : " + myException.Message);
}
}
Dim myDiscoFile As String = "http://localhost/MathService_vb.vsdisco"
Dim myUrlKey As String = "http://localhost/MathService_vb.asmx?wsdl"
Dim myDiscoveryClientProtocol As New DiscoveryClientProtocol()
' Get the discovery document.
Dim myDiscoveryDocument As DiscoveryDocument = myDiscoveryClientProtocol.Discover(myDiscoFile)
Dim myEnumerator As IEnumerator = myDiscoveryDocument.References.GetEnumerator()
While myEnumerator.MoveNext()
Dim myContractReference As ContractReference = CType(myEnumerator.Current, ContractReference)
' Get the DiscoveryClientProtocol from the ContractReference.
myDiscoveryClientProtocol = myContractReference.ClientProtocol
myDiscoveryClientProtocol.ResolveAll()
Dim myExceptionDictionary As DiscoveryExceptionDictionary = myDiscoveryClientProtocol.Errors
If myExceptionDictionary.Contains(myUrlKey) Then
Console.WriteLine("System generated exceptions.")
' Get the exception from the DiscoveryExceptionDictionary.
Dim myException As Exception = myExceptionDictionary(myUrlKey)
Console.WriteLine(" Source : " & myException.Source)
Console.WriteLine(" Exception : " & myException.Message)
Console.WriteLine()
End If
End While
注解
集合Errors填充了调用 Discover、、 DiscoverAnyResolveAll和 ResolveOneLevel 方法期间发生的异常。 DiscoveryExceptionDictionary调用这些方法时会清除 。