我們也有同樣的問題,解決它,我們做了以下幾件事:
限制通過模擬器使用的端口的數量:在我們的例子中,我們也有兩個服務。在C:\Program Files\Microsoft SDKs\Windows Azure\Emulator\devfabric
中打開DevFC.exe.config
文件並更改VipPoolStartIPAddress
和VipPoolEndIPAddress
的設置。由於我們只有兩項服務,因此我們將起始地址設置爲127.0.0.81
,結束地址設置爲127.0.0.82
。這將確保仿真器總是隻使用這兩個IP地址。一旦你做了這個改變,你必須重新啓動計算模擬器。
<add key="VipPoolStartIPAddress" value="127.0.0.81" />
<add key="VipPoolEndIPAddress" value="127.0.0.82" />
配置主機在C:\Windows\System32\drivers\etc
文件夾文件:這是我們對應的IP地址,我們虛構的發展領域。這是設置看怎麼樣在我們的hosts文件:
127.0.0.81 svc1.mydevsite.com#服務1
127.0.0.82 svc2.mydevsite.com#服務2
包括hostHeader
元素:下一步是在雲項目中的Service Definition (.csdef)
文件中包含hostHeader
。您必須在Bindings
部分包含hostHeader
。對於服務1,這是設置看起來像在csdef文件:
<綁定名稱= 「端點1」 endpointName = 「端點1」 hostHeader = 「svc1.mydevsite.com」 >
這幾乎是就設置事情而言。
有兩個限制這種方法:
- 當您啓動的發言權服務1模擬器,它會自動打開
http://127.0.0.81:port
,我必須去手動在瀏覽器中鍵入http://svc1.mydevsite.com:port
。
- 在我們的場景中,我必須首先運行服務1,然後服務2,因爲IP被綁定在主機文件中。只有
Service 1
綁定到127.0.0.81
的IP地址,而Service 2
綁定到127.0.0.82
的IP地址。如果我先啓動服務2,則模擬器會爲其分配IP地址127.0.0.81
。
我確定有更好的方法來完成這件事,但這是我們最終做的,到目前爲止它一直在爲我們工作(至少對於2個服務組合)。我敢肯定,如果你開始處理許多雲計算項目,這可能會造成一些問題。
這是部分有用的信息,謝謝。我不知道DevFC配置文件,VipPoolStartIPAddress在某種程度上使我的IP分配更容易處理。 但是,我仍然不想手動啓動每個項目。而且由於我也在其他項目上編碼,所以不幸的是,我不能將Vip地址限制爲只有兩個。因此,IP地址仍然有點任意分配(我不想在每次調試會話之間重新啓動仿真器)。 – mbaaz