私はそれ自身のアセンブリ内の手書きWCFプロキシを持っているが、それは非常に簡単です:設定ファイルでPowershellスクリプトでカスタムWCFプロキシを使用するには?
public class MyServiceClient : ClientBase<IMyService>, IMyService
{
public MyServiceClient()
{
}
public MyServiceClient(string endpointConfigurationName) :
base(endpointConfigurationName)
{
}
}
私はPowerShellスクリプトにこれをロードしています:私は、アプリケーションを設定しようとしています
Add-Type -Path "$LocalPath\MyService.Client.dll"
Add-Type -Path "$LocalPath\MyService.Contracts.dll"
.configをクライアントではなくスクリプト自体よりも、設定に定義されたエンドポイントでインスタンス化することができるように、(SOにother postsの通り):
[System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", "$LocalPath\MyService.Client.dll.config")
I AppDomainをチェックし、設定ファイルがConfigurationFile
プロパティとして設定されている。
私はクライアントのインスタンスを作成します。
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."
任意のアイデア:
$endpointName = "MyServiceHttpEndpoint" # defined in the app.config file
$myclient = New-Object MyService.Client.MyServiceClient($endpointName)
それは言って転倒しますか?スクリプトファイルに手動でエンドポイントを作成する必要はありません。configから読み込む必要があります。
エラーは、設定ファイルを調べて、 "MyServiceHttpEndpoint"という名前のエンドポイントが見つかりませんでした。意味のあるヘルプが必要な場合は、実際の設定ファイルを投稿する必要があります。 – ErnieL
「これは、アプリケーションに設定ファイルが見つかりませんでした」 - これが問題です。設定ファイルは問題なく、PowerShellの外で問題なく動作します。 – MalcomTucker
私はAppDomainをチェックしましたが、設定ファイルは存在し、 'AppDomain。ConfigurationFile'プロパティを使用しているため、設定ファイルを消費するクライアントプロキシに結びつけることができません。設定を追加... – MalcomTucker