PSClientError-Klasse
Enthält Informationen zu einer SOAP-Ausnahme für eine PSI-Methode.
Vererbungshierarchie
System.Object
Microsoft.Office.Project.Server.Library.PSClientError
Namespace: Microsoft.Office.Project.Server.Library
Assembly: Microsoft.Office.Project.Server.Library (in Microsoft.Office.Project.Server.Library.dll)
Syntax
'Declaration
<SerializableAttribute> _
Public Class PSClientError _
Implements ISerializable
'Usage
Dim instance As PSClientError
[SerializableAttribute]
public class PSClientError : ISerializable
Hinweise
Wenn Sie eine Liste aller Fehler erhalten möchten, die auftreten, wenn eine Ausnahme ausgelöst, wenn Sie eine PSI-Methode aufrufen, übergeben Sie das SoapException -Objekt an den Klassenkonstruktor Microsoft.Office.Project.Server.Library.PSClientError . Sie können dann GetAllErrors verwenden, die Fehlerinformationen in einem Array PSErrorInfo gespeichert und Auflisten der Fehler, wie im folgenden Beispiel.
Hinweis
Das Objekt PSErrorInfo möglicherweise nicht alle Informationen enthalten, die Sie benötigen. Wenn Sie Resource.CheckOutResources verwenden, sind einige der Ressourcen bereits ausgecheckt, wird beispielsweise PSErrorInfo für jede Ressource, die nicht ausgecheckt werden, jedoch nicht der Ressourcenname oder die GUID das Fehlerursache. Eine Möglichkeit, Weitere Informationen erhalten möchten finden Sie unter CheckOutResources.
Beispiele
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.Services.Protocols;
using System.Windows.Forms;
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
try
{
/* call a PSI method */
}
catch (SoapException ex)
{
string errAttributeName;
string errAttribute;
string errMess = "".PadRight(30, '=') + "\r\n" + "Error: " + "\r\n";
PSLibrary.PSClientError error = new PSLibrary.PSClientError(ex);
PSLibrary.PSErrorInfo[] errors = error.GetAllErrors();
PSLibrary.PSErrorInfo thisError;
for (int i = 0; i < errors.Length; i++)
{
thisError = errors[i];
errMess += "\n" + ex.Message.ToString() + "\r\n";
errMess += "".PadRight(30, '=') + "\r\nPSCLientError Output:\r\n \r\n";
errMess += thisError.ErrId.ToString() + "\n";
for (int j = 0; j < thisError.ErrorAttributes.Length; j++)
{
errAttributeName = thisError.ErrorAttributeNames()[j];
errAttribute = thisError.ErrorAttributes[j];
errMess += "\r\n\t" + errAttributeName +
": " + errAttribute;
}
errMess += "\r\n".PadRight(30, '=');
}
MessageBox.Show(errMess, "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.
Siehe auch
Referenz
Microsoft.Office.Project.Server.Library-Namespace
Weitere Ressourcen
Vorgehensweise: Melden Sie sich bei Project Server programmgesteuert