2011-03-02 153 views
0

我是WCF休息的新手。我有兩個操作合同,一個POST和GET方法。 在我的客戶端,我使用HttpWebRequest並嘗試訪問操作合同。WCF休息客戶端 - 發佈超時

每當我訪問POST方法操作合同,我得到一個超時錯誤。 但是,當我嘗試訪問成功的GET方法後,POST方法,一切工作正常。

是否有必要在POST方法調用之後使用GET方法調用?

我在這兒幹什麼?

回答

0

在POST之前做GET並不是必要的。您的錯誤實際上可能不是POST超時,而是服務器和服務器在反序列化時失敗的錯誤數據。

GET可能會在客戶端上設置一些數據傳回服務器?如果是這種情況,那麼GET設置的數據是否可能是未設置時的數據,從而導致服務器上的POST失敗?

找出最好的方法是在您的服務器上設置跟蹤。查看here以獲得WCF跟蹤的良好示例。

UPDATE:另一種可能性是,您的GET代碼正在初始化服務器端的東西,您的POST調用丟失。也許是數據庫連接?

+0

感謝您的建議,將盡力回覆給您。快速驗證順便說一句,如果通過POST發送的數據不好,即使通過GET方法訪問後,它也會失敗。但是,它是如何工作的? – Anu 2011-03-02 16:54:52

+0

,除非您使用GET來加載稍後在帖子中發送的數據。在這種情況下,您的請求可能包含更多內容?從你的問題的細節很難說,只是拋出建議。但是,通常這些請求是無狀態的,所以GET和POST根本不應該互動。 – ale 2011-03-02 18:19:27

+0

我嘗試訪問我的休息服務,使用Httpwebrequest和JsonSerialization,我的帖子沒有任何問題。我有另一個客戶端使用servicemodel.clientbase訪問我的服務。在這種情況下,當我訪問post方法時,我得到一個超時。有沒有我在這裏失蹤的設置。正在使用客戶端訪問休息服務是否正確? – Anu 2011-03-03 09:53:41