Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何强制连接到负载平衡器后面的不同服务器?_C#_Iis_Webclient_Load Balancing - Fatal编程技术网

C# 如何强制连接到负载平衡器后面的不同服务器?

C# 如何强制连接到负载平衡器后面的不同服务器?,c#,iis,webclient,load-balancing,C#,Iis,Webclient,Load Balancing,我将通过(例如)某个网站的WebClient请求一些IIS web服务器。IIS有两个(或更多)实例,负载平衡器决定使用哪个实例来处理请求。通常,如果建立了连接,特定的服务器将被分配来响应进一步的请求。有没有办法强制负载平衡器连接到不同的服务器?在.NET中是否有任何类的方法来执行此操作或至少确定哪个web服务器正在响应 我这样问是因为我需要连接到负载平衡器后面的所有服务器并检查下载的内容。否,因为负载平衡器必须在您的代码有机会在web服务器上执行之前做出决定 如果一个局外人能够影响负载平衡器的

我将通过(例如)某个网站的WebClient请求一些IIS web服务器。IIS有两个(或更多)实例,负载平衡器决定使用哪个实例来处理请求。通常,如果建立了连接,特定的服务器将被分配来响应进一步的请求。有没有办法强制负载平衡器连接到不同的服务器?在.NET中是否有任何类的方法来执行此操作或至少确定哪个web服务器正在响应


我这样问是因为我需要连接到负载平衡器后面的所有服务器并检查下载的内容。

否,因为负载平衡器必须在您的代码有机会在web服务器上执行之前做出决定

如果一个局外人能够影响负载平衡器的选择,那将是相当危险的;拒绝服务攻击会容易得多。

有两种方法

  • 您可以使用Load命令暂时暂停其中一台服务器 平衡器。这对于交付测试或开发非常有效 环境。作为一项规则,我会说,当 做任何交付测试,否则你永远不会真正知道你是否 两台服务器都正确
  • 您可以使用Web代理从其他服务器访问您的Web服务器 地点。根据负载平衡器的设置,您的几率是 50/50,您将得到相同的服务器或其他 Web代理的一个示例是:


    为了帮助调试,我尝试在每台服务器上放置一些独特的东西,这样我就知道我正在使用哪一台。这可能是页脚中的一个小线索或类似的东西。

    这很糟糕。在使用DHCP的情况下,有没有像刷新IP这样的技巧?您知道负载平衡器可以将我“粘”到特定服务器上多长时间吗?(是的,我知道这在3台或更多服务器的情况下没有什么意义,但我有两台,并且保证内容的差异,即使听起来很奇怪)。“在使用DHCP的情况下刷新IP”哈,很好的反驳。你说得对,我对它不太了解。