0

Azureで複数のWCFRESTfulアプリケーションを使用しています。1つはXbox360のユーザー用で、もう1つはPS3のユーザー用です。両方の基盤となるアーキテクチャはわずかに異なる必要があるため、エンドポイントを1つの役割に結合することはできません。

現在、両方の役割は、1つのホステッドサービスでの1つのデプロイメントの下にあります。ただし、ロールにアクセスするときに、カスタムエンドポイントにロールを配置することは可能ですか?エンドポイント内のカスタムフォルダに拡張できますか?

今、私はWCFRESTアプリにアクセスします http://[servicename].cloudapp.net/[template]

しかし、私はそれらを次のように分離できるようにしたいと思います http://[servicename].cloudapp.net/[gamename]/ps3/[template] http://[servicename].cloudapp.net/[gamename]/360/[template]

ここで、[gamename] /[env]/は別の役割を指示します。

現在のセットアップ方法では、Xbox360の役割がさまざまなサービスで実行されている場合でも、すべてのリクエストがPS3エンドポイントに送信されます。

私の質問は、サービスのc#コードを変更せずに、ServiceDefinition.csdefまたはServiceConfiguration.Cloud.cscfgファイルを編集してこれを行うことができるかどうかです。

4

2 に答える 2

1

短い答えはノーだと思います。サービス動作の変更を容易にするために、Web 構成またはコードでエンドポイント バインディングを編集する必要があります。

于 2012-01-11T16:56:06.087 に答える
0

デプロイメントに2つの役割がある場合、ServiceDefinition.csdefファイルには、異なるポートを使用するそれぞれに対して宣言されたエンドポイントが存在する必要があります。

<InputEndpoint name = "Endpoint1" protocol = "http" port = "8080" />

http://[servicename].cloudapp.net/したがって、を使用して一方にアクセスし、を使用してもう一方にアクセスできますhttp://[servicename].cloudapp.net:8080/

次に、WCFルーティングサービスを使用して、それぞれの[gamename] / ps3 / [template]ルートを作成できます。これで、準備は完了です。ただし、両方が要求をリッスンするには、一方が80以外の別のポートにある必要があります。

于 2012-01-11T20:14:36.583 に答える