Я думаю, что вам лучше всего создать свой собственный простой класс POCO для представления SearchResult
и вернуть список этих объектов.На самом деле вы хотите иметь возможность точно контролировать информацию, которую нужно отправить обратно из сервиса.Например:
[Serializable]
public class MySearchResult
{
public string Name { get; set; }
public string Email { get; set; }
}
И просто итерируйте результаты поиска и извлеките нужные вам свойства, например:
var results = new List<MySearchResult>();
foreach (SearchResult r in searchResultCollection)
{
results.Add(new MySearchResult
{
Name = searchResult.Properties["Name"],
Email = searchResult.Properties["Email"]
});
}
Таким образом, отправляемый обратно XML не будет раздутым со всемисвойства, которые вам не нужны, и вы можете сериализовать свои List<MySearchResult>
возвращаемые результаты.И, кстати, я понятия не имею, существуют ли свойства Name и Email, я просто показываю пример.