WebService:在将对象发送到客户端之前编辑对象

时间:2011-10-20 11:23:53

标签: c# .net wcf web-services asmx

我正在开发一个使用webservices来搜索数据,在数据库中插入记录等的应用程序。

我遇到了一个问题:我在最后用空格填充空格的对象中有一些字符串属性,或者只有空格。这真烦人:/

我有一个想法:在将对象发送到客户端之前修剪webservice上的所有字符串属性。这将解决我的问题:D

这是否可以使用反射或其他东西?

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

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

2 个答案:

答案 0 :(得分:0)

你可以,但这是一个糟糕的主意。

想象一下,您发送了10,000个对象。您将在这些10,000行上使用反射来修剪字符串属性。更糟糕的是,您将“搜索”每个对象的属性列表,直到找到字符串为止。

只需在字符串属性上调用Trim()即可。你已经知道他们是哪一个。

修改 在你的代码中你已经有了对MyObject的引用,它已经暴露了哪些属性是字符串而哪些属性不是。只需在这些属性上调用Trim(),但由于字符串是不可变的,请确保执行类似

的操作
myObject.StringProperty=myObject.StringProperty.Trim();

答案 1 :(得分:0)

这是一个非常糟糕的主意。

您的服务旨在查询数据库并返回数据。这就是应该做的。

如果您不想要尾随空格,则不要将尾随空格放入数据库中。