J'ai une procuration WCF écrite à la main dans son propre montage, il est très simple:Comment utiliser un proxy WCF personnalisé dans un script Powershell avec un fichier de configuration?
public class MyServiceClient : ClientBase<IMyService>, IMyService
{
public MyServiceClient()
{
}
public MyServiceClient(string endpointConfigurationName) :
base(endpointConfigurationName)
{
}
}
Je chargeais ceci dans un script Powershell:
Add-Type -Path "$LocalPath\MyService.Client.dll"
Add-Type -Path "$LocalPath\MyService.Contracts.dll"
Je suis alors en train de mettre l'App .config (selon other posts sur SO) de telle sorte que le client peut être instancié avec un point d'extrémité défini dans la configuration, plutôt que dans le script lui-même:
[System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", "$LocalPath\MyService.Client.dll.config")
I avez vérifié l'AppDomain et le fichier de configuration est défini comme sa propriété ConfigurationFile
.
Lorsque je crée une instance du client:
$endpointName = "MyServiceHttpEndpoint" # defined in the app.config file
$myclient = New-Object MyService.Client.MyServiceClient($endpointName)
Il tombe en disant:
Exception calling ".ctor" with "1" argument(s): "Could not find endpoint element with name 'MyServiceHttpEndpoint' and contract 'MyService.Contracts.IMyService' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this name could be found in the client element."
Toutes les idées? Je ne veux pas créer manuellement le point de terminaison dans le fichier de script - il doit être lu à partir de la configuration.
L'erreur est: il a regardé dans le fichier de configuration et n'a pas pu trouver un point de terminaison nommé "MyServiceHttpEndpoint". Vous devrez poster le fichier de configuration réel si vous voulez une aide significative. – ErnieL
Il indique également 'Cela peut être dû au fait qu'aucun fichier de configuration n'a été trouvé pour votre application' - quel est le problème. Le fichier de configuration est bon, il fonctionne en dehors de Powershell sans problèmes. – MalcomTucker
J'ai vérifié l'AppDomain et le fichier de configuration est présent et correct dans 'AppDomain.La propriété ConfigurationFile, donc il est trouvé, je ne peux pas simplement lier le fichier de configuration au proxy client consommateur. Ajout de la config ... – MalcomTucker