0

私のプロジェクトはセカンダリ構成ファイルを使用しているため、プロジェクトで 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 にリストされているにもかかわらず、コンストラクターが見つかりません。

4

1 に答える 1

1

クラスWebHttpBindingは にありSystem.ServiceModel.Web.dllます - それへの参照を追加する必要があります。将来的には、型が存在するアセンブリのMSDN リファレンスを確認できます。

于 2013-05-24T13:53:10.440 に答える