2011-06-30 19 views
0

這個問題是以下問題的結果:determining which server (in a web farm) the asp.net ajax request came from?找到Web場中的哪個服務器執行了Web方法?

的問題是,我們通常使用自動生成的代理類與web方法(其可以是ASMX/WCF服務的一部分)進行通信。當我們收到來自Web服務服務器的響應時,我們如何知道它從哪個服務器處理?

我們收到服務器端正在執行的代碼(主要是)的響應。當它的腳本服務(可以通過JavaScript調用)完全是另一種情況。

一旦Web服務返回,我們如何讀取響應頭?

我是否受限於構建自己的代理類來解決此問題?

+1

爲什麼你需要知道哪個服務器場中正在迴應請求?當然,農場的要點是服務器可以互換? –

+0

網絡農場的要點是(除其他外)透明度 - 客戶端不知道它的存在。根據執行請求的真實服務器的知識,在客戶端建立任何邏輯都是錯誤的架構。 –

+0

我同意瓦特/拉迪斯拉夫。人們抱怨網站在高峯時段速度很慢。在代碼中,我們已將Trace語句放在關鍵點(如db調用或Web服務調用)之前和之後。我們還將web.config中的trace元素的'localOnly'屬性設置爲'true'。這意味着我們只能登錄到服務於該呼叫的實際服務器,並查明網站的運行速度。它就是我們如何開展調查。歡迎任何其他建議。 – deostroll

回答

0

單程。它不是最好的方式,但它會做,直到有新事物發生。如果您有像fiddler/burp這樣的工具,則可以檢查響應標題。所以我們必須配置IIS以適當地設置響應頭。

默認情況下,它們被配置爲輸出像X-ASP.NET ......一個好主意,將服務器名稱添加到...