2017-05-03 51 views
1

如何配置不同的應用程序實例?我知道你可以參數化ApplicationManifest和服務Config包,但是如何在兩個不同的應用程序實例中爲web服務指定不同的端口? web服務的端點在ServiceManifest中定義,它不能被參數化。服務結構應用程序實例配置

<Resources> 
 
    <Endpoints> 
 
    <!-- This endpoint is used by the communication listener to obtain the port on which to 
 
      listen. Please note that if your service is partitioned, this port is shared with 
 
      replicas of different partitions that are placed in your code. --> 
 
    <Endpoint Protocol="http" Name="ServiceEndpoint" Type="Input" Port="80" /> 
 
    </Endpoints> 
 
</Resources>

說我有一個應用程序類型MyAppType其中包含的服務類型MyWebSvcType。我創建了應用程序類型MyAppTenant1MyAppTenant2的兩個實例。如何指定MyAppTenant1的webservice在端口80上偵聽,MyAppTenant2的webservice在端口81上偵聽。這是因爲它們可能位於同一節點上,因此應偵聽不同的端口。

回答

1

如果您省略端口屬性,您的服務實例將獲得分配的動態端口。您可以使用code找到服務端點,也可以通過內置的反向代理訪問它。

更多信息herehere

+0

我嘗試了使用反向代理的建議。但是,似乎總是將我的請求發送到第一個應用程序實例,無論我放入URL的應用程序名稱如'http:// mycluster:19008/PartitionTestGreen/WebSvc/api/Values/10'仍然發送給我PartitionTestYellow應用程序實例,而不是PartitionTestGreen實例。 –

+0

我不必在反向代理本身上配置任何東西?它已啓用(在門戶中顯示爲已啓用),它清楚地轉發所有應用程序實例的請求,但只轉發給錯誤的實例(始終相同)。 –

+0

我自己沒有遇到過這個問題,它對我來說工作正常。不需要額外的配置。您是否可以運行列出端點的代碼段,查看是否所有端點都像您期望的那樣? – LoekD