私のプロジェクトはセカンダリ構成ファイルを使用しているため、プロジェクトで ServiceReference を手動で構成する必要があり、そのファイルから読み取ろうとして多くの問題に遭遇しました。次のように、クライアントで basicHttpBinding インスタンスを手動で定義することで、物事を機能させることができました。
var binding = new BasicHttpBinding
{
Name = "something",
CloseTimeout = new TimeSpan(0, 1, 0),
OpenTimeout = new TimeSpan(0, 1, 0),
ReceiveTimeout = new TimeSpan(0, 10, 0),
SendTimeout = new TimeSpan(0, 1, 0),
AllowCookies = false,
//and so on...
};
ただし、サーバー側バインディングを webHttpBinding に変更しない限り、ブラウザー経由で Web サービスへのテスト呼び出しを行うことはできません。webHttpBinding を使用すると、サービスへのブラウザ リクエストは期待どおりにシリアル化されたデータを返します。しかし、basicHttpBinding を使用しているため、クライアントからのリクエストは失敗します。
BasicHttpBinding オブジェクトの代わりに WebHttpBinding オブジェクトを定義するにはどうすればよいですか? MSDN にリストされているにもかかわらず、コンストラクターが見つかりません。