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でホストする場合、baseAddressは完全に無視されるということです。
Visual Studio 2010を使用している場合は、サービスのプロジェクトを右クリックして、properties
を選択できます。次に、Web
タブを選択します。 Servers
セクションで、URLを構成できます。仮想ディレクトリを作成するためのボタンもあります。