Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Das Orleans-PowerShell-Clientmodul besteht aus einer Gruppe von PowerShell-Cmdlets und umschließt den GrainClient. Es bietet eine Reihe von praktischen Befehlen, die es ermöglichen, nicht nur mit dem ManagementGrain
sondern mit jedem IGrain
zu interagieren, genau wie eine normale Orleans-Anwendung mithilfe von PowerShell-Skripts.
Diese Cmdlets ermöglichen eine Reihe von Szenarien, z. B. Startwartungsaufgaben, Tests, Überwachung oder jede andere Art von Automatisierung mithilfe von PowerShell-Skripts.
Zum Installieren dieses Moduls aus der Quelle können Sie es mit dem OrleansPSUtils
-Projekt erstellen und es einfach wie folgt importieren:
Import-Module .\projectOutputDir\Orleans.psd1
Das ist zwar eine Möglichkeit, es gibt aber einen viel einfacheren und interessanteren Weg, nämlich die Installation aus dem PowerShell-Katalog. PowerShell-Module können ähnlich wie NuGet-Pakete problemlos freigegeben werden, aber anstelle von nuget.org werden sie im PowerShell-Katalog gehostet.
Zum Installieren dieses Moduls aus dem PowerShell-Katalog führen Sie den folgenden Befehl im gewünschten Ordner aus:
Save-Module -Name OrleansPSUtils -Path <path>
Führen Sie Folgendes aus, um es in Ihrem PowerShell-Modulpfad (dies ist die empfohlene Methode) zu installieren:
Install-Module -Name OrleansPSUtils
Wenn Sie dieses Modul in einer Azure Automation verwenden möchten, verwenden Sie diesen Link.
Unabhängig von der gewählten Installationsart müssen Sie das Modul in die aktuelle PowerShell-Sitzung importieren, damit die Cmdlets verfügbar werden. Führen Sie dazu dies aus:
Import-Module OrleansPSUtils
Wichtig
Bei einer Erstellung aus der Quelle müssen Sie das Modul wie im Abschnitt Installieren des Moduls vorgeschlagen importieren, indem Sie den Pfad zur .psd1
verwenden, statt den Modulnamen zu verwenden, da er sich nicht in der PowerShell-Laufzeitvariable $env:PSModulePath
befindet. Es wird dringend empfohlen, stattdessen aus dem PowerShell-Katalog zu installieren.
Nachdem das Modul importiert wurde (d. h., es wird in die PowerShell-Sitzung geladen), stehen ihnen die folgenden Cmdlets zur Verfügung:
Start-GrainClient
Stop-GrainClient
Get-Grain
Dieses Modul ist ein Wrapper um GrainClient.Initialize() und dessen Überladungen.
Gleiche Wirkung wie ein Aufruf von GrainClient.Initialize(), das nach den Namen der bekannten Orleans-Clientkonfigurationsdateien sucht:
Start-GrainClient [-ConfigFilePath] <string> [[-Timeout] <timespan>]
Der vorherige Befehl verwendet den angegebenen Dateipfad wie in GrainClient.Initialize(filePath)
.
Start-GrainClient [-ConfigFile] <FileInfo> [[-Timeout] <timespan>]
Der vorherige Befehl verwendet eine Instanz der FileInfo-Klasse, die die Konfigurationsdatei einfach als GrainClient.Initialize(fileInfo)
darstellt.
Start-GrainClient [-Config] <ClientConfiguration> [[-Timeout] <timespan>]
Der vorherige Befehl verwendet eine Instanz einer ClientConfiguration wie in GrainClient.Initialize(config)
.
Start-GrainClient [-GatewayAddress] <IPEndPoint> [[-OverrideConfig] <bool>] [[-Timeout] <timespan>]
Der vorherige Befehl verwendet einen Orleans-Clustergateway-Adressenendpunkt.
Tipp
Der Timeout
-Parameter ist optional, und wenn er fundiert und größer als TimeSpan.Zero ist, ruft er intern GrainClient.SetResponseTimeout(TimeSpan) auf.
Zum Beenden des GrainClient
rufen Sie den folgenden Befehl auf:
Stop-GrainClient
Der vorherige Befehl akzeptiert keine Parameter, und wenn er mit initialisiertem GrainClient
aufgerufen wird, wird die Initialisierung ordnungsgemäß aufgehoben.
Zum Abrufen eines Grain
stellt dieses Cmdlet einen Wrapper um GrainClient.GrainFactory.GetGrain<T>()
und die zugehörigen Überladungen dar. Der obligatorische Parameter ist -GrainType
, und der -XXXKey
für die aktuellen Grain-Schlüsseltypen, die von Orleans unterstützt werden (string
, Guid
, long
), sowie die -KeyExtension
, die für Grains mit zusammengesetzten Schlüsseln verwendet werden kann.
Dieses Cmdlet gibt einen Grain-Verweis von dem Typ zurück, der als Parameter für -GrainType
übergeben wird. Hier sehen Sie ein Beispiel für den Aufruf der Grain-Methode MyInterfacesNamespace.IMyGrain.SayHelloTo
:
Import-Module OrleansPSUtils
$configFilePath = Resolve-Path(".\ClientConfig.xml").Path
Start-GrainClient -ConfigFilePath $configFilePath
Add-Type -Path .\MyGrainInterfaceAssembly.dll
$grainInterfaceType = [MyInterfacesNamespace.IMyGrain]
$grainId = [System.Guid]::Parse("A4CF7B5D-9606-446D-ACE9-C900AC6BA3AD")
$grain = Get-Grain -GrainType $grainInterfaceType -GuidKey $grainId
$message = $grain.SayHelloTo("Gutemberg").Result
Write-Output $message
Hello Gutemberg!
Stop-GrainClient
Es gibt zusätzliche Cmdlets, die nicht erörtert werden, jedoch gibt es stärker nativen Support für Observers, Streams und andere Kernfunktionen von Orleans in PowerShell.
Hinweis
Das Ziel besteht nicht darin, den gesamten Client in PowerShell neu zu implementieren, sondern IT- und DevOps-Teams eine Möglichkeit zu geben, mit den Grains zu interagieren, ohne eine .NET-Anwendung implementieren zu müssen.
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenTraining
Modul
Erstellen Ihrer ersten Orleans-App mit ASP.NET Core 8.0 - Training
Erfahren Sie, wie Sie cloudnative, verteilte Anwendungen mit Orleans erstellen.