0

私は、WCF サービスのアドレス指定に頭を悩ませようとしています。

サーバーが時々 (おそらく 1 日に 1 回) データを各クライアントにプッシュする必要があるクライアント サーバー セットアップがあります。そのデータを受信するために、NT サービスでホストされている各クライアントに軽量の WCF リスナー サービスを用意したいと考えています。他のタスク用にいくつかのローカル WCF サービスをホストする NT サービス セットアップが既にあるため、このオーバーヘッドは最小限に抑えられます。

サーバー上に既存のレガシー コードがあるため、サービスを ASMX として公開しbasicHttpBinding、接続を許可するために使用する必要があると思います。

各クライアントはユーザーによってサーバーに登録されるため (クライアントは個別に構成する必要があります)、検出は問題になりません。

私の質問は、アドレス指定はどのように機能するのですか? ユーザーがサーバー上のクライアントのアドレスをフォームに入力することを想像します

http://0.0.0.0/MyService

あるいは

http://hostname/MyService

その場合、App.config でクライアント サービスを構成するにはどうすればよいですか? 私は使用しlocalhostますか?

そうでない場合、サービスをサーバーに公開するための推奨される方法は何ですか?

ノート:

  • クライアントに必要なハードウェアに余分な要件が追加されるため、IIS でホストしたくありません。
  • クライアントはほぼ確実に、パブリック インターネット上ではなく、LAN 上に配置されます。
4

1 に答える 1

1

次のようにサービスのベースアドレスを構成します。

<system.serviceModel>
  <services>
    <service name="Ns.FooService">
      <host>
        <baseAddresses>
          <add baseAddress="http://localhost:9999" />
        </baseAddresses>
      </host>
      <endpoint
          address="/foo"
          binding="basicHttpBinding"
          contract="Ns.IFooContract" />
     </service>
  </services>
</system.serviceModel>

そして、あなたのサービスは からアクセスできますhttp://servename:9999/foo。詳細については、この記事をご覧ください。

于 2010-03-25T09:46:22.873 に答える