2011-11-09 12 views
3

私はこれを行うためにIISを使用していたので、WCFをホストするWindowsサービスを作成するのは初めてです。私は約12のWCFサービスをホストするWindowsサービスを作成し、各サービスのすべてのエンドポイントとアドレスを処理するためにVisual Studioでapp.configファイルを設定しました。IISを使用しているWCFサービスのweb.configファイルのように、Windowsサービス用にapp.configファイルが公開されていますか?

ここで、ファイルシステムにはWindowsサービスがインストールされていますか?バインディングやアドレスを変更するために、サービスをアンインストールしたり再インストールしたりせずに設定ファイルを再設定する方法はありますか?

IISを使用しているWCFサービスのinetpubにある公開されたweb.configファイルでこれを行っていますが、これはWindowsサービスと同じかどうか疑問です。

答えて

5

あなたのタイトルの質問に対する答えはYESです。 Windowsサービスへのapp.configは、IISでホストされるWebサービスに対するweb.configと同じです。

通常、Windowsサービスは、製品固有のパス内の特定の場所に通常の実行可能ファイルとして展開されます。この実行可能ファイルの横に配置されているapp.configは、実行可能ファイルと同じ名前で、.configが追加されています。そのため、ScanService.exeにはその構成を含むScanService.exe.configがあります。

+0

大丈夫ですので、C:\ SolutionDirectoryディレクトリに解決策があり、サービスのインストーラを作成して実行すると、どこにありますか? bin \ Debugフォルダー内にありますか? – 5StringRyan

+0

はい、その場所になります。デバッグセッションを開始するための小さな例外があります。その場合、Windowsサービスプロジェクトからapp.configを取得するだけです。 – kroonwijk

+0

@ HansGruberあなたのような構造を指定しない限り、Windowsサービスを本番環境にインストールするときは、bin \ debugフォルダにあります。 –

1

私はWindowsサービスとして分散サービス(.NET Remoting)を開発/インストールしましたが、サービスをインストールする際にフォルダを指定する必要があります。たとえば、「C:¥Program Files¥MyService」というフォルダを選択すると、MyService.exe.configは「C:¥Program Files¥MyService」と同じフォルダにインストールされます

したがって、「C: Program Files \ MyService.exe.config "とバインディングを変更し、Windowsサービスを再起動します。

あなたが考えるその他の点は、これまでのサービスをインストールすると、あなたのサービスを実行するために使用されているときに使用するアカウントどのようなので、ここでは何のアプリケーションプールはございません

です。サービスを介してイベントログまたはレジストリにアクセスする必要がある場合に備えて、シンプルドメイン\アカウント を使用している場合は、いくつかの追加のアクセス許可を提供する必要があります。

また、サービスをインストールした後にサービスアカウントを変更することができます。

IISから移行する理由はありますか?私のWCFサービスもIISに組み込まれているので、あなたが問題に直面しているかどうか疑問に思っていました。

+0

私が理解していることから、IIS自体に何も問題はありません.WCFサービスが今どこにあるのかが分かります。残念ながら、それをWindowsサービスに移行する必要があります。これらのサービスをXPマシンにインストールする必要があるかもしれません。 – 5StringRyan

+0

これは実際には真実ですが、私が同じ位置にいるかもしれない質問が表示された場合、@kroonwijkは.NET RemotingからWCFにアップグレードするための強力な引数を与えるために非常にうまく答えます。彼らが拒否した場合、私はWindwos XP用のWindowsサービスを作成するのと同じ状況になるかもしれません:) –

関連する問題