For the complete documentation index, see llms.txt. This page is also available as Markdown.

Points de terminaison API C#

Cette extension active la prise en charge de C# pour les points de terminaison API.

Identifier: PowerShellUniversal.Language.CSharp

Cette extension crée un environnement basé sur C# qui peut être utilisé pour créer des points de terminaison API avec du code C#. Les API créées avec C# sont beaucoup plus rapides que les points de terminaison basés sur PowerShell. Les points de terminaison s'exécutent directement dans le service PowerShell Universal. Toute exception levée depuis votre point de terminaison sera gérée et un code de statut valide sera retourné à l'appelant.

Vous devez créer des points de terminaison avec le paramètre -Path et spécifier l'environnement C# pour que le point de terminaison fonctionne correctement.

New-PSUEndpoint -Url /csharp -Path csharp.cs -Environment 'C#'

Définir un point de terminaison

Dans le point de terminaison C#, deux classes présentent un intérêt. La première est la variable request qui est transmise au point de terminaison. Il s'agit d'un objet ApiRequest.

public class ApiRequest
{
    public long Id { get; set; }
    public ICollection<KeyValue> Variables { get; set; } = new List<KeyValue>();
    public IEnumerable<ApiFile> Files { get; set; } = new List<ApiFile>();
    public string Url { get; set; }
    public ICollection<KeyValue> Headers { get; set; } = new List<KeyValue>();
    public byte[] Data { get; set; }
    public int ErrorAction { get; set; }
    public ICollection<KeyValue> Parameters { get; set; } = new List<KeyValue>();
    public string Method { get; set; }
    public ICollection<KeyValue> Cookies { get; set; } = new List<KeyValue>();
    public string ClaimsPrincipal { get; set; }
    public string ContentType { get; set; }
    public string[] Roles { get; set; }
}

Dans votre point de terminaison, vous pouvez accéder à cette variable automatiquement.

Le point de terminaison doit retourner un objet ApiResponse. Cet objet possède la définition suivante.

Vous pouvez retourner une réponse en créant un nouvel objet et en le retournant depuis votre point de terminaison.

Lors de la définition du contenu d'un point de terminaison, sachez que le code est ajouté à une classe nommée dynamiquement avec une unique fonction Execute. Votre code doit être une syntaxe valide pour un tel fichier source.

Vous pouvez accéder au conteneur de services PowerShell Universal dans votre point de terminaison en accédant à la propriété ServiceProvider. Nous ne documentons pas actuellement les services internes de PowerShell Universal.

Références

Vous pouvez contrôler les assemblages référencés en utilisant le mot-clé #ref. La valeur peut être un fichier DLL dans le répertoire d'installation de PowerShell Universal, ou le chemin complet vers un autre assemblage.

Utilisation des espaces de noms

Vous pouvez référencer un espace de noms en utilisant le mot-clé #using.

Variables

Vous pouvez accéder aux variables dans les points de terminaison C# avec les méthodes GetVariable, GetSecretString et GetSecretCredential.

Pour accéder à un PSCredential, vous pouvez procéder comme suit.

Mis à jour

Ce contenu vous a-t-il été utile ?