1

wcf サービスをホストする方法はありますか:

  • 延長なし
  • 相対エンドポイント アドレス (サーバー アドレスは自動的に認識される必要があります)
  • メタデータなし (コントラクトはクライアントが利用可能)
  • basicHttp バインディング

何かが達成できない場合、私はそれを受け入れます。すでにアプローチを試みましたが、メタデータがありません -> Other Question

4

1 に答える 1

2

IIS でWCF (SOAP) サービスをホストしている場合は、service.svcIISがこれが WCF SOAP エンドポイントであることを認識し.svc、それに応じてリクエストをルーティングします。IIS では、サービスが存在する仮想ディレクトリが基本的にサービス エンドポイントのアドレスを決定するため、相対アドレス (仮想ディレクトリに相対的) を使用してサービスのエンドポイント アドレスを定義できます。

WCF サービスをマネージド アプリケーション (Windows NT サービス、または単純な .NET コンソール アプリ) で自己ホストする場合、.svcファイルは必要ありません。マネージド アプリが要求を処理しますが、同時に、 「ホスティング インフラストラクチャ」が整っていないため、**完全修飾されたエンドポイント アドレスを定義する必要があります。相対アドレスだけを使用することはできません (何に対して??)。

そのため、相対アドレスを使用すること(IIS では.svcファイルを使用)、拡張子を使用しないこともできます(自己ホスティングを使用しますが、完全修飾されたサービス エンドポイント アドレスを指定する必要があります)。両方を同時に持つことはできません。

サービス エンドポイントがメタデータを持ち、公開するかどうかは、サービスの動作をサービス定義に追加する (または追加しない)だけの問題です。ServiceMetaData

于 2013-04-01T07:45:29.257 に答える