【发布时间】:2011-06-30 06:13:23
【问题描述】:
这个问题是以下问题的结果:determining which server (in a web farm) the asp.net ajax request came from?
问题是我们通常使用自动生成的代理类来与 web 方法(可能是 asmx/wcf 服务的一部分)进行通信。当我们收到来自 Web 服务服务器的响应时,我们如何知道它是从哪个服务器处理的?
我们收到来自正在执行的服务器端代码的响应(大部分)。当它是一个脚本服务(可以通过javascript调用)时,它完全是另一种情况。
Web 服务返回后我们如何读取响应标头?
我是否必须构建自己的代理类来解决这个问题?
【问题讨论】:
-
为什么需要知道场中的哪个服务器正在响应请求?当然,农场的意义在于服务器是可以互换的?
-
网络农场的重点是(除其他外)透明度 - 客户端不知道它的存在。依赖于执行请求的真实服务器的知识在客户端构建任何逻辑都是错误的架构。
-
我同意 Damien 和 Ladislav。人们抱怨该网站在高峰时段运行缓慢。在代码中,我们在关键点(如 db 调用或 Web 服务调用)之前和之后放置了 Trace 语句。我们还将 web.config 中
trace元素的localOnly属性设置为true。这意味着我们只能登录到为呼叫提供服务的实际服务器,并找出使网站变慢的原因。这就是我们必须如何进行调查。欢迎任何其他建议。 -
你有没有办法完成这件事。我也有类似的问题。
标签: asp.net wcf web-services asmx