Ich habe einen WCF-Dienst. Jetzt möchte ich es zur Konsolenanwendung konvertieren. Grundsätzlich ist es ein einfacher Service. Je nach Clientanforderung durch PowerShell-Anforderung werden nur zwei Jobs ausgeführt.Konvertieren eines WCF-Dienstes in eine Konsolenanwendung
Invoke-WebRequest "http://localhost:10000/backup/DoBackup?id=BackupClient1"
oder
Invoke-WebRequest "http://localhost:10000/backup/DoBackup?id=BackupClient2"
Mein Service hört für diese 2-Anforderungen auf Anfrage.
Ich habe diesen WCF-Code:
myService service = new myService(_settings);
backupServiceHost = new WebServiceHost(service, _backupAddress);
WebHttpBinding binding = new WebHttpBinding();
string address = "";
ServiceEndpoint endpoint = backupServiceHost .AddServiceEndpoint(typeof(ISnapshotServiceContract), binding, address);
backupServiceHost .Open();
ich nicht WebServiceHost
und WebHttpBinding
in meiner Konsolenanwendung verwenden kann. Was ist der beste Ersatz dafür? Ich denke, einfach zu verwenden HttpClient
. Aber ich bin mir nicht sicher, ob es eine richtige Auswahl ist.
Aber der Kunde von ps Invoke-WebRequest anfordern müssen " http: // localhost: 10000 /. Also kann ich nicht cmd Argument verwenden – masiboo
In diesem Fall können Sie auf dieses Beispiel beziehen, wie WCF 'ServiceHost' (https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-erstellen-a-service-endpoint-in-code), jedoch müssen Sie lösen, wie Sie den Dienst stoppen können - Sie müssen z Dienst und zusätzlicher Befehl im Dienst, um anzuzeigen, dass der Dienst beendet werden sollte. – shrpq