web-dev-qa-db-ja.com

WebサービスをVisual StudioからIISに公開する方法は?

C#でWCF Webサービスを作成しました。私はもともとそれを自己ホストしていたので、PCでローカルに実行するIISでホストすることにしました。サービスが動作している間、理解できない展開プロセスのいくつかの側面があります:

まず、IISでホストされている場合のこのサービスのURLは、web.configで指定したものと一致しません。 " http:// localhost:8000/MyServices/OrderService "があり、これは自己ホスト時に使用されていました。IISに展開したので、URLは" http:// localhost/MyServices/OrderService "になりました。構成ファイルからURLが取得されませんか?

次に、Webサービスをホストするために、IIS(既存の「既定のWebサイト」に加えて)内に新しいWebサイトを作成しました。物理パスをc:\ inetpub\wwwrootに設定しました(これが正しいかどうかはわかりません)、他のパラメーターはデフォルトのままにしました。次に、/ binフォルダー、.svcファイル、およびweb.configをこのフォルダーにコピーしました。これは「仮想ディレクトリ」に相当しますか?

最後に、サービスは(IIS内で)「アプリケーションに変換」を選択するまで機能しませんでした。 「アプリケーションに変換」を選択する必要があるのはなぜですか?

Visual StudioからIISに簡単なWebサービスを公開するための正しい手順を誰かが説明できますか、またはプロセスを理解できるようにいくつかの優れたドキュメントを教えていただけますか?

****オリジナルへの編集*****これを調べるのにより多くの時間を費やして、私は以下を見つけました:

  • IISでWebサイトを作成するとき、c:\ inetpub\wwwroot .... etcの物理ディレクトリを指定します
  • その後、Visual Studioから「公開」する場合、必要なすべてのファイル(/ binディレクトリ、web.config、.svcファイルなど)をWebサイトの物理ディレクトリ(つまり、c:\ inetpub\wwwroot)にコピーするだけです。 ...

同じ効果を得るためにコピーを手動で実行できます。

答えは、IISでホストする場合、baseAddressは完全に無視されるということです。

26
JMc

Visual Studio 2010を使用している場合は、サービスのプロジェクトを右クリックして、propertiesを選択できます。次に、Webタブを選択します。 Serversセクションで、URLを構成できます。仮想ディレクトリを作成するためのボタンもあります。

14