close

         最近在使用 Web Service 時發現了一個有趣的現象,只要按 F5 進偵錯模式時呼叫 Web Service,就常常會發生逾時的情況,但是不進偵錯模式的話又可以正常呼叫。

        雖然程式搬到 Server 上可以正常執行,但在開發時不能進偵錯模式實在很令人頭痛。為了解決這個問題,我把 Web Service 的 Request 交由 Fiddler 去發送,籍由這個工具來看 Request 的內容。程式碼大致上如下:

WebReference.Service1 service = new WebReference.Service1();
service.Proxy = new System.Net.WebProxy("127.0.0.1", 8888);

 

        接著呼叫 Web Service 提供的 WebMethod,Request 就會經由 Fiddler 發送出去。

 

        檢查了一下 Request 的內容,原來在偵錯模式下,HttpHeader 會多加下面這一段

fiddler-webservice-request

 

 

 

        Google之後,找到這篇,看來只要設定 Config,取消這一段自動加入的 Request Header 就行了。加入的 Config 區段如下:

<configuration> 
  <system.diagnostics> 
    <switches> 
       <add name="Remote.Disable" value="1" /> 
    </switches> 
  </system.diagnostics> 
</configuration> 

 

 

 

        可惜的是,手邊其實不止這一個 Web Service 站台,但只有呼叫這支會有這種問題,所以暫時也不知道確切發生的原因,看來只能等日後再慢慢研究、實驗了。

arrow
arrow
    全站熱搜

    AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()