在将多实例WebRole
部署到Windows Azure Emulator
时,模拟器正在运行WebRole的多个IIS Express实例,每个实例都在保留的本地IP上,如:
127.255.0.1
127.255.0.2
127.255.0.3
问题是我想要访问WebRole,就像它真的部署在Azure上一样,我需要检查实例之间是否存在Session State
。
由于我的Session Id
存储在cookie上,每次我连接到不同的实例时,我需要手动将“注入”cookie检查会话数据的请求(因为浏览器认为IP是下一个实例作为不同的域名。)
有没有办法可以使用hostname
(在Windows 7机器上)将其自身指向其中一个IP?
答案 0 :(得分:1)
好吧,显然模拟器 负载均衡实例之间的所有请求:
单击Cloud Project上的“Debug”将打开一个带有IP的网页,该IP是虚拟负载均衡器(如果尚未采用,通常为127.0.0.1:80)。
然而,首先有两件事误导了我:
2。隐含的亲和力:
我将我的Web应用程序输出为instance-id并继续获取 始终使用相同的instance-id。原因是(我猜) 模拟器强制执行的关联(可能使用cookie) 比较)。
<强>结论:强>
如果您想自己手动负载均衡或控制亲和力,您可以利用IIS Server Farming
功能(我最终做的)来模拟负载均衡。
(Apache / Nginx作为某种'反向代理'也是一个不错的选择,但我更喜欢坚持已经安装和使用的产品。)