DiscoveryClientProtocol.ResolveAll Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Řeší všechny odkazy na dokumenty zjišťování, schémata XSD (XML Schema Definition) a popisy služeb ve References vlastnosti a odkazy nalezené v odkazovaných dokumentech zjišťování.
public:
void ResolveAll();
public void ResolveAll ();
member this.ResolveAll : unit -> unit
Public Sub ResolveAll ()
Příklady
Následující příklad kódu je webový formulář, který naplní DataGrid podrobnostmi o dokumentech ve Documents vlastnosti spolu s odkazy nalezenými v každém dokumentu během zjišťování webových služeb XML. Metoda PopulateGrid
vyplní DataGrid výsledky DiscoverAny vyvolání následované voláním ResolveAll.
protected void Discover_Click(object Source, EventArgs e)
{
// Specify the URL to discover.
string sourceUrl = DiscoURL.Text;
// Specify the URL to save discovery results to or read from.
string outputDirectory = DiscoDir.Text;
DiscoveryClientProtocol client = new DiscoveryClientProtocol();
// Use default credentials to access the URL being discovered.
client.Credentials = CredentialCache.DefaultCredentials;
try
{
DiscoveryDocument doc;
// Discover the URL for any discoverable documents.
doc = client.DiscoverAny(sourceUrl);
// Resolve all possible references from the supplied URL.
client.ResolveAll();
}
catch ( Exception e2)
{
DiscoveryResultsGrid.Columns.Clear();
Status.Text = e2.Message;
}
// If documents were discovered, display the results in a data grid.
if (client.Documents.Count > 0)
PopulateGrid(client);
// Save the discovery results to disk.
DiscoveryClientResultCollection results = client.WriteAll(outputDirectory, "results.discomap");
Status.Text = "The following file holds the links to each of the discovery results: <b>" +
Path.Combine(outputDirectory,"results.discomap") + "</b>";
}
Public Sub Discover_Click(Source As Object, e as EventArgs )
' Specify the URL to discover.
Dim sourceUrl as String = DiscoURL.Text
' Specify the URL to save discovery results to or read from.
Dim outputDirectory As String = DiscoDir.Text
Dim client as DiscoveryClientProtocol = new DiscoveryClientProtocol()
' Use default credentials to access the URL being discovered.
client.Credentials = CredentialCache.DefaultCredentials
Try
Dim doc As DiscoveryDocument
' Discover the URL for any discoverable documents.
doc = client.DiscoverAny(sourceUrl)
' Resolve all possible references from the supplied URL.
client.ResolveAll()
Catch e2 As Exception
DiscoveryResultsGrid.Columns.Clear()
Status.Text = e2.Message
End Try
' If documents were discovered, display the results in a data grid.
If (client.Documents.Count > 0) Then
'populate our Grid with the discovery results
PopulateGrid(client)
End If
' Save the discovery results to disk.
Dim results As DiscoveryClientResultCollection
results = client.WriteAll(outputDirectory, "results.discomap")
Status.Text = "The following file holds the links to each of the discovery results: <b>" + _
Path.Combine(outputDirectory,"results.discomap") + "</b>"
End Sub
Poznámky
ResolveAll vyřeší všechny platné odkazy, které najde a umístí do Documents vlastnosti. Schémata ResolveAll ResolveOneLevel XSD a popisy služeb ve References vlastnosti si můžete stáhnout a ověřit. Tyto dvě metody se ale liší v tom, jak zpracovávají dokumenty zjišťování. ResolveOneLevel Vyřeší všechny odkazy v dokumentech zjišťování v rámci References vlastnosti. Pokud dokument zjišťování obsahuje odkazy na jiné dokumenty zjišťování, ResolveOneLevel vyřeší pouze tyto dokumenty zjišťování. Dokumenty zjišťování nalezené v těchto dokumentech zjišťování, které jsou vnořené do hloubky jedné úrovně, nejsou vyřešeny ResolveOneLevel; zatímco ResolveAll všechny jsou vyřešeny. ResolveAll i nadále řeší odkazy v vnořených dokumentech zjišťování, dokud nebudou žádné další odkazy.
Chyby, ke kterým dochází během procesu ověření provedeného procesem ResolveAll , nejsou vyvolány v době výskytu, ale spíše shromažďovány a přidány do Errors vlastnosti.