0

ローカル マシンにビルドされたWCF Webserviceプロジェクトがあり、テスト クライアントを使用してホストされ、トリガーされると、リモート データベースから値をJSON形式で返します。

たとえば、URLlocalhost を入力すると、次の形式で結果が返されます。

{"Id":3,"Value1":"67.5687","Value2":"126.7125"}

このプロジェクトをパブリック URL を使用してリモート サーバーでホストしたいと考えています。これにより、任意のネットワークから上記の結果が返されるはずです。これに関して3つの質問があります:

** リモート サーバーでホストするには、現在の WCF プロジェクトにどのような変更を加える必要がありますか。

** 次のようなさまざまなタイプのホスティングを考えると:

1) windows process activation services (WAS)
2) IIS
3) Self hosting
4) Hosting in a Windows service,

リモート サーバーでのホスティングに最適なホスティングのタイプ。

** サービスを機能させるには、App.Config ファイルにどのような変更を加える必要がありますか (エンドポイント アドレスを localhost から IP アドレスに変更するなど)。

ありがとう。

4

1 に答える 1

1

1) 別のマシンでコードをホストしたいという理由だけで、プロジェクトに変更を加える必要はありません。これは奇妙な質問だと思います。

2) データ形式として JSON を選択し、テスト クライアントとしてブラウザーを選択した場合、単純な GET 要求を使用して HTTP 経由で使用できるようにしたいと考えています。Microsoft スタックでは、IIS が Web サーバーであり、このシナリオでは当然の選択です。

3) 答えることは全く不可能です。今日の app.config の内容がわかりません。あなたが認証するかどうか、もしそうならどのように行うかはわかりません。そして知りたくない!そうは言っても、すべてが開発ボックスでの動作と同じように動作することになっている場合、バインディングはすでに問題ないように思えます。WCF サービスがそれ自体のエンドポイントを知る必要があるかどうかは覚えていません (実際にこれを知る必要がある理由を理解するのは困難です)。IIS などのホストでこのような構成を行う方が自然だと思いました。もちろん、クライアントは、サービスをホストする場所を指す別のエンドポイントを使用する必要があります。(app.config に多くのエンドポイントを配置して、ユーザーに 1 つを選択させることができます。)

私たちのほとんどは時々次のアドバイスに対して罪を犯すと思いますが、それは私が与えることができる最高のアドバイスです:本を読んでください。使用しているもの、この場合は WCF について可能な限り学びます。後で時間を取り戻すことができ、ソフトウェアの状態も悪くなります!

于 2013-05-31T06:43:04.220 に答える