2011-10-20 26 views
1

我開發使用Web服務來搜索數據,在數據庫中插入記錄的應用等的WebService:編輯對象之前發送到客戶端

我有一個問題:我有對象的某些字符串性質在最後填滿空格,或者只有空格。這真的很煩人:/

我有一個想法:在將對象發送到客戶端之前,修剪webservice上的所有字符串屬性。這將解決我的問題:D

這可能使用反射或其他的東西?

//WebMethod 
public MillenniumCoreCustomer LoadCustomer() 
{ 
    MyObject returnObj = new MyObject(); 
    returnObj = GetDataFromSourceNotControlatedByMe(); 

    // I want to trim all string properties here 
    return returnObj; 
} 
+1

您是否有能力修改web服務代碼? – AndrewC

+0

是的,它是由我開發的。 – rpf

+0

我知道它不在問題範圍內,但是您不需要'new MyObject()'來解除下一行的引用^^ – Seb

回答

0

你可以,但這是一個可怕的主意。

想象一下,您發送了10,000個對象。您將在這10,000行上使用反射來修剪字符串屬性。更糟糕的是,您需要「搜索」每個對象的屬性列表,直到找到字符串的屬性列表。

只需在字符串屬性上調用Trim()即可。你已經知道他們是哪一個。

編輯 在你的代碼中已經爲myObject參考其已暴露出哪些屬性是字符串,哪些不是。只是這些屬性調用TRIM(),但因爲字符串是不可變的,你一定要做像

myObject.StringProperty=myObject.StringProperty.Trim(); 
+0

是的,我理解所有這些問題,只是告訴我該怎麼做? – rpf

+0

謝謝,但我絕望 – rpf

+0

發佈網絡服務電話,並在您的代碼中,你想修剪你的字符串 – Icarus

0

這是一個非常糟糕的主意。

您的服務旨在查詢數據庫並返回數據。這就是它應該做的。

如果您不想尾隨空格,則不要將尾隨空格放入數據庫中以開始。

+0

我不能同意更多,但我在外包我的問題是:我的web服務正在使用客戶端的其他web服務。這些web服務是完全瘋狂的:/有些屬性的末尾有空格,或者只有空格。這是我的問題出現的地方,我需要自動刪除那些空格的東西。這就是爲什麼我想在我的web服務中修剪。 – rpf

+0

P. S .:不可能告訴客戶改變他們的網絡服務......他們完美無暇。大聲笑 – rpf

相關問題