2010-10-18 38 views
0

我正在測試一個獲取對象作爲參數的Web服務。 爲了創建這個對象,我通過一個我們正在維護的網上商店,最終的結果是一個相當大的對象,我們可以把它稱爲BO,發送到一個Web服務。如何序列化爲C#代碼?

現在我們似乎有一個BO出現在BO處於特定狀態時的錯誤。 我沉悶地通過網上商店來創建我正在檢查的BO狀態,然後觀察調試Web服務如何處理它。

這可能發生多次,每次都需要時間和精力。 我仍然可以在調試模式下觀看BO的正確狀態。我可以將它序列化爲XML,這很方便。我夢想能夠將它序列化爲C#代碼。我沒有在網上找到它。我發現序列化爲XML,並序列化爲JSON。

我的問題是: 你知道我該如何將它序列化爲C#代碼,所以我可以輕鬆地爲這個特定的商業案例做一個測試用例嗎?

對於如何解決這類問題,您還有其他建議嗎?

有用的答案從席西斯托賽斯

,以節省服務呼叫請求的狀態最簡單的辦法是截獲並因爲它存儲了完整的對象狀態存儲發送到服務的SOAP消息。您可以使用像Fiddler這樣的工具來訪問soap消息並將其保存到文件中。接下來,您將編寫一個簡單的應用程序,使用.NET HttpWebRequest對象將存儲的soap提交給服務。

回答

0

您試圖解決的問題是檢索對象的存儲狀態,以便您可以使用該狀態重複調用服務以進行調試。聽起來像你還想在進行服務呼叫之前改變狀態。

此方案的一種選擇是使用名爲WcfTestClient的Visual Studio工具。這link文件如何使用客戶端。一旦你運行它並填充「BO」狀態,你可以重複編輯並重新提交更新的參數到服務方法。不幸的是,每次運行WcfTestClient應用程序時都必須手動填充參數,因爲無法保存參數值。希望這可以幫助!

+0

我不必更改「BO」。我只是在談論反覆測試/調試相同的狀態。 – Skuli 2010-10-18 13:33:57

+0

我真的想自動化州的人口 – Skuli 2010-10-18 13:40:13

+1

保存服務調用請求狀態的最簡單方法是攔截並存儲發送到服務的soap消息,因爲它存儲完整的對象狀態。您可以使用像Fiddler這樣的工具來訪問soap消息並將其保存到文件中。接下來,您將編寫一個簡單的應用程序,使用.NET HttpWebRequest對象將存儲的soap提交給服務。 – 2010-10-18 14:04:52